前言
vps可视化管理的面板中,唯独宝塔面板
依托强大的社区支撑,开发力度很很大,因此非常适合lunix系统搭建网站等使用,非常方便。但是宝塔面板初始安装一般需要一分钟,然后lnmp环境安装需要二十分钟以上,这个漫长的过程现在可以打破了,不到三分钟,用docker就可以完成快速部署,本站demo站超负荷实测一个多月没毛病。
注意:此法不适合新手小白,新手推荐按原始方法进行操作(篇末有参考链接)。
截图

优点
- Docker容器部署,省略初始化LNMP编译过程
- 最新版本的宝塔面板+LNMP基础环境(最新版本的官方纯净安装的基础上安装nginx,mysql,php7.3)
- 可随时管理容器,无需重置服务器。
安装步骤
项目地址: https://hub.docker.com/r/pch18/baota
1.Docker安装(已安装的可省略此步骤)
curl -sSL https://get.docker.com/ | sh
service docker restart
systemctl enable docker #设置开机自启
2.宝塔面板部署
docker run -tid --name baota -p 80:80 -p 443:443 -p 8888:8888 -p 888:888 -p 20:20 -p 21:21 --privileged=true --restart always -v baota_www:/www -v ~/wwwroot:/www/wwwroot pch18/baota
运行结束就玩了宝塔面板的安装,实际上整个过程也就两分钟左右。

下一步简单点而言就是执行以下命令
docker exec -it baota bash #进入docker宝塔容器
rm -f /www/server/panel/data/admin_path.pl #关闭安全出口
bt default #重置宝塔面板的登陆账号及密码,后期进入面板后可手动修改
完成以上步骤,就可以打开ip:8888
进行访问了,正常部署一点问题都没有。
备注:该宝塔已安装最新版本,内含LNMP基础环境,php7.3.普通搭建已经非常齐全了。
已知问题
1.部分机器初始化环境可能某些端口被占用,比如80端口被占用,使用netstat -lnp|grep 80
查看进程PID,然后使用kill -9 XXXX
结束该进程 (xxxx为进程的相关pid)。
之后再重复以上命令即可。
2.如果想增加端口,就需要docker commit该映像,然后重新运行该新的映像,并在-v
参数添加相应的端口即可。
3.鉴于docker的诸多优秀特质,所以本站演示站点为保证原始环境,所以均采用此法进行操作的。使用基本无差别,所以推荐用此法部署宝塔。
其他版本及问题说明
删除容器命令如下
docker stop rm -f baota #删除baota容器
通过host模式运行宝塔镜像(该方法所有端口都启用,类似常规安装宝塔)
但是host模式很容易启动失败,因此我们以前面演示的命令为准。
docker run -tid --name baota --net=host --privileged=true --restart always -v baota_www:/www -v ~/wwwroot:/www/wwwroot pch18/baota
版本命名说明
pch18/baota:latest
或 pch18/baota
为最新版本的官方纯净安装的基础上安装nginx,mysql,php
pch18/baota:init
为引导镜像,用于自启动服务,持久化程序文件,其他版本均基于此镜像生成
pch18/baota:clear
为官方版本纯净安装, 不默认安装nginx,mysql,php等程序
pch18/baota:lnp
为官方版本纯净安装的基础上安装nginx,php(不内置mysql,用于外置数据库的环境)
pch18/baota:lnmp
为官方版本纯净安装的基础上安装nginx,mysql,php
pch18/baota:lap
为官方版本纯净安装的基础上安装apache,php(不内置mysql,用于外置数据库的环境)
pch18/baota:lamp
为官方版本纯净安装的基础上安装apache,php
docker run -tid --name baota -p 80:80 -p 8888:8888 --restart always baiyuetribe/baota_mini