09
2020
06

docker容器多开宝塔

这篇文章写到后面的时候发现使用docker多开创建出来的宝塔并不能同时登录,登录其中一个面板会导致另一个面板自动退出登录(这可能是宝塔新增的机制,防止使用容器技术多开宝塔),且不能映射已经映射过的端口,当然,docker本就不是这么用的。给容器添加独立ip的方式可以尝试解决这个问题,这就需要涉及到路由表的知识了,以后再另外更新,这次主要讲下容器安装宝塔与打包镜像。


还没安装docker的参照这篇文章安装https://timoit.top/post/9.html


从docker官方拉取一个centos镜像,你也可以拉取别的系统镜像:

docker pull centos:centos7   拉取一个centos7镜像

docker images                      查看已经拉取的镜像


创建容器并映射端口,映射文件夹:

docker run -dit --name docker1001 -p 21:21 -p 80:80 -p 443:443 -p 888:888 -p 8001:8001 --privileged=true centos:centos7 /usr/sbin/init

-dit                         这就不用讲解了,不懂的看这里:https://timoit.top/post/9.html
docker1001              实例的名字
-p 21:21                  端口映射,后面一样,这里给常用端口做映射,你也可以加其他端口
--privileged=true    给容器添加特权,不然等会宝塔安装不上
centos:centos7         就是刚刚拉取的镜像名称

/usr/sbin/init           不添加这个安装完宝塔会报错

查看实例:

docker ps


进入实例:

docker exec -it 0ee3059dd168 /bin/bash


查看实例的系统版本和内核信息:

cat /etc/redhat-release

uname -r


开始安装宝塔:

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


更改宝塔的端口:
刚刚我们映射的端口是8001


登录宝塔,愉快玩耍:


安装环境之前先exit退出实例,重启下实例,因为直接登录宝塔安装环境有可能会卡住

docker restart 5d88aacf1ef0

再进入实例重启宝塔,安装环境


我们讲的是多开宝塔,当然不能只是安装一个


退出实例:

exit


停止实例:

docker stop 227919afa14a


这时候需要查看docker的守护进程:

docker ps -a


打包实例:

docker commit 227919afa14a bt

bt          为实例打包后的镜像名称


查看打包后的镜像:

docker images

可以看到打包后的镜像去到了1.65G,因为宝塔安装过程中会安装各种依赖,打包之前我也安装了web环境


通过刚打包的镜像再创建一个实例:

docker run -dit --name docker1002 8005:8001 --privileged=true bt /usr/sbin/init

由于上一个实例已经映射了21,80,443,888,8001端口,这里就不能再映射了,只能将宿主机的8005端口映射到实例里面的8001端口


« 上一篇 下一篇 »
Top