Docker中安装宝塔

25
Apr

Docker中安装宝塔

宝塔面板的安全性令人怀疑,所以推荐在容器内安装宝塔,防止不法分子通过漏洞入侵服务器
以下是Docker中安装宝塔的方法,教程绝大部分转载于CSDN:Docker中安装宝塔一文Linux宝塔怎么设置开机自启,使用docker安装宝塔,并解决宝塔服务在docker下开机自启动问题...,作了部分改动,更便于新手阅读
教程开始:
1、docker拉取ubuntu系统
docker pull ubuntu

2、运行容器

docker run -i -t -d --name bt -p 20:20 -p 20:21 -p 80:80 -p 443:443 -p 888:888 -p 8888:8888 \
--privileged=true -v /root/wwwroot:/www/wwwroot ubuntu

-p后的第一个数字是宿主机端口,也就是我们机器上的端口,后面冒号跟着容器内的端口
-v后的/root/wwwroot代表本地/root/wwwroot目录与ubuntu系统中得到/www/wwwroot映射

3、进入容器
docker exec -it bt /bin/bash

4、安装sudo、wget
//更新apt-get
apt-get update
//安装sudo
apt-get -y install sudo
//安装wget
apt-get -y install wget

5、安装宝塔

wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && \
sudo bash install.sh ed8484bec

中途可能会出现一个地域选择

Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are
located.

  1. Africa  2. America  3. Antarctica  4. Australia  5. Arctic  6. Asia  7. Atlantic  8. Europe  9. Indian  10. Pacific  11. US  12. Etc
Geographic area: 

按服务器所在地选择即可

6.修改端口
容器内输入bt回车,根据菜单提示修改端口至8888,也就是上面我们开放的端口

7.运行
输入bt回车再按1回车重启容器内的宝塔,然后我们浏览器访问ip:端口\安全路径就能进入了,宝塔安装完后会显示安全路径,忘记安全路径输入bt回车按提示查看面板默认信息即可

8.修改Docker端口配置(以下并非唯一方式,只是最简单最可靠的修改方式,其他方式自行百度)
先回到宿主机(如果在容器内先执行exit),执行docker commit bt docker-bt打包容器(备份容器也可以这样做)
关闭已有的容器docker stop bt删除容器docker rm bt
运行(以下内容自行改动)

docker run -i -t -d --name bt -p 20:20 -p 20:21 -p 80:80 -p 443:443 -p 888:888 -p 8888:8888 \
--privileged=true -v /root/wwwroot:/www/wwwroot docker-bt

重新创建容器完成后再次执行
docker exec -it bt /bin/bash进入容器
输入bt回车按要求重启宝塔即可

9.设置开机启动(前提是Docker也是开机启动的)
docker update --restart=always bt
现在容器自启动了创建自启动脚本,脚本位置随意
vim ~/.config/startBt.sh
按i输入

sleep 30;
sudo docker exec bt /etc/init.d/bt start && sudo docker exec bt /etc/init.d/nginx start && sudo docker exec bt /etc/init.d/php-fpm-74 start && sudo docker exec bt /etc/init.d/mysqld start

备注:
sleep 30; 等待docker启动后再执行
其中bt为我们所设置的容器名,后面跟的命令分别启动bt面板、nginx、php7.4、mysql可自行配置
更多命令可以使用 ls /etc/init.d/ 查看
按ESC输入:wq保存并退出
接下来挂载开机自启脚本
使用命令:
crontab -e
添加新的一行,将我们刚刚写的脚本挂载到计划任务中。
@reboot sudo bash ~/.config/startBt.sh
按ESC输入:wq保存后即配置完成,可以重启后查看是否配置成功

添加新评论