vps可视化管理的面板中,宝塔面板依托强大的社区支撑,开发力度很很大,因此非常适合lunix系统搭建网站等使用,非常方便。
但是宝塔面板初始安装一般需要一分钟,然后lnmp环境安装需要二十分钟以上,这个漫长的过程现在可以打破了,用docker不到三分钟,就可以完成快速部署。
注意:此法不适合新手小白,新手推荐按原始方法进行操作
优点
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
运行结束就玩了宝塔面板的安装,实际上整个过程也就两分钟左右(实际状况根据服务器决定,并不是绝对的)。
3.执行以下命令
#进入docker宝塔容器
docker exec -it baota bash
#关闭安全出口
rm -f /www/server/panel/data/admin_path.pl
#重置宝塔面板的登陆账号及密码,后期进入面板后可手动修改
bt default
完成以上步骤,就可以打开iP:8888 进行访问了,正常部署一点问题都没有
备注:该宝塔已安装最新版本,内含LNMP基础环境,php7.3.普通搭建已经非常齐全了。
4.已知问题
4.1.部分机器初始化环境可能某些端口被占用,比如80端口被占用,使用netstat -lnp|grep 80 查看进程PID,然后使用kill -9 XXXX结束该进程 (xxxx为进程的相关pid)。
之后再重复以上命令即可
4.2.如果想增加端口,就需要docker commit该映像,然后重新运行该新的映像,并在-v参数添加相应的端口即可。
4.3.鉴于docker的诸多优秀特质,所以本站演示站点为保证原始环境,所以均采用此法进行操作的。使用基本无差别,所以推荐用此法部署宝塔。
5.其他版本及问题说明
#删除baota容器
docker stop rm -f baota
通过host模式运行宝塔镜像(该方法所有端口都启用,类似常规安装宝塔)
但是host模式很容易启动失败,因此我们以前面演示的命令为准。
docker run -tid --name baota --net=host --privileged=true --restart always -v baota_www:/www -v ~/wwwroot:/www/wwwroot pch18/baota
6.版本命名说明
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
7.总结
面板无法进入,密码,用户名错误等状况,需要进入docker容器,参考3.执行以下命令,执行宝塔面板控制命令
bt
按照以上方式进行相关操作
8.关闭宝塔强制绑定官网账号方法