Docker使用:利用宝塔面板Docker管理器快速搭建PHP、Java、Python、nodejs等配套运行环境...

思路:阿里云购买服务器选择centos7宝塔系统做宿主机,登录宝塔安装Docker管理器,获取一个centos7镜像,创建容器在里面再安装个宝塔后部署PHP、Python等。

点击购买阿里云云服务器,建议买香港可以免备案,系统镜像选择CentOS7或者用自己现有服务器

备注:去掉宝塔绑定账号,ssh登录服务器输入
rm -f /www/server/panel/data/bind.pl

一、登录宝塔->软件商店安装Docker管理器

 二、打开Docker管理器,输入centos:7获取镜像

 三、创建容器,按图输入(这块端口写的8881是为了和宿主机8888区分,还可以把宿主机端口改成8880,容器端口写8888,就不用第5步配置了)

容器端口

映射到(服务器)

说明

22

222

SSH服务

8881

8881

面板服务

80

81

HTTP服务

443

4433

HTTPS

3306

33060

Mysql

20

200

 

21

211

 

四、修改容器名字为cen_bt 点击终端,进入容器

 五、在容器里安装宝塔面板7.1,中间需要按y确认

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装完成把信息保存起来(第三步容器端口写8888可省略下面步骤)

第三步容器端口写8881需要修改宝塔面板端口为8881

echo '8881' > /www/server/panel/data/port.pl && /etc/init.d/bt restart

但是这样重启会丢失配置文件,解决方法一:

在宿主机单次启动
docker start cen_bt && docker exec cen_bt /bin/sh -c "echo '8881' > /www/server/panel/data/port.pl && /etc/init.d/bt restart"

最终解决方案:设置宿主机开机启动
cd /etc/profile.d/
vi hosts.sh
输入以下命令,保存退出
docker start cen_bt && docker exec cen_bt /bin/sh -c "echo '8881' > /www/server/panel/data/port.pl && /etc/init.d/bt restart"

或第二个方法:改完端口后生成新的镜像

六、输入ip:8881登录面板,就可以自由配置环境了

注意,要在阿里云服务器安全组配置规则里打开上面端口

 

七、部署网站

在docker容器中的宝塔面板 新建站点。需同时到宿主机的宝塔中新建相同网站,并建立反向代理。

网站源码只放入docker容器中的宝塔面板中即可

在宿主机的宝塔 ,新建站点后点击设置,需将宿主机的81端口指向docker容器中的80端口

访问网址即可成功

 八、实际要用的话改完容器里所有配置后生成一份新的镜像

常见问题:

问:通过docker部署宝塔面板镜像后,如何访问面板?
答:如果你创建docker时,将8888映射到了8881,那么通过(http://服务器IP:8881)访问!
         访问docker创建的面板,需要在新的浏览器打开,否则会自动退出。
问:通过docker部署宝塔面板镜像后,如何通过SSH管理容器?
答:如果你创建docker时,将22映射到了222,那么直接使用ssh工具,通过222端口连接容器
问:我创建容器时明明将8888端口映射到了8881端口,为什么无法访问?
答:请检查面板防火墙是否放行8881,如果有安全组,还需要在安全组放行8881
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我理解了你的问题。下面是我对你的回答: 首先,我需要说明一下,我是一个人工智能语言模型,无法直接使用docker/docker-comose工具,但我可以为你提供一些指导性的建议来帮助你完成你的任务。 1. 搭建PHP运行环境并连接MySQL数据库 首先需要安装DockerDocker Compose。然后,创建一个目录,将以下内容保存为docker-compose.yml文件: ``` version: '3' services: web: image: php:7.2-apache ports: - "80:80" volumes: - ./src:/var/www/html db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: test volumes: - db-data:/var/lib/mysql volumes: db-data: ``` 在该目录下创建src目录并将您的PHP代码放在其中。在PHP代码中,使用mysqli连接到MySQL数据库。 2. 搭建Python运行环境并连接MongoDB数据库 首先需要安装DockerDocker Compose。然后,创建一个目录,将以下内容保存为docker-compose.yml文件: ``` version: '3' services: web: build: . ports: - "5000:5000" volumes: - ./app:/app db: image: mongo ports: - "27017:27017" volumes: db-data: ``` 在该目录下创建app目录并将您的Python代码放在其中。在Python代码中,使用pymongo连接到MongoDB数据库。 3. 搭建Node.js运行环境并连接MySQL数据库 首先需要安装DockerDocker Compose。然后,创建一个目录,将以下内容保存为docker-compose.yml文件: ``` version: '3' services: web: build: . ports: - "3000:3000" volumes: - ./app:/app db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: test volumes: - db-data:/var/lib/mysql volumes: db-data: ``` 在该目录下创建app目录并将您的Node.js代码放在其中。在Node.js代码中,使用mysql连接到MySQL数据库。 这些示例只是指导性的,您需要根据您的具体需求来修改它们。希望我的回答能帮助到您!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值