宝塔面板定制docker镜像发布-集成LN/AMP支持ARM-7.9.2版本

作者: zengde 分类: 笔记 发布时间: 2022-06-10 02:01

此docker镜像由堡塔安全官方发布,镜像版本为宝塔面板7.9.2正式版,镜像会随着正式版的宝塔面板更新
目前支持x86_64和arm架构平台可供下载使用

维护者:堡塔安全–宝塔官方团队

M1 mac镜像传送门(临时关闭,待更新):宝塔面板7.8.0定制docker镜像发布-集成LN/AMP支持m1 mac版本

注意:部署完成后,请立即登录宝塔面板—>面板设置中修改用户名和密码并修改安全入口
注意:部署完成后,请立即登录宝塔面板—>面板设置中修改用户名和密码并修改安全入口
注意:部署完成后,请立即登录宝塔面板—>面板设置中修改用户名和密码并修改安全入口

latest 标签拉取的是lib标签,安装了面板并且安装集成依赖包,安装每个软件都会快一点。
fresh 标签表示安装了面板但是没有安装集成依赖包,安装第一个软件会比较慢,因为需要装依赖包。
lib标签表示安装了面板并且安装集成依赖包,安装每个软件都会快一点。
lnmp 标签表示安装了面板、集成包并且集成LNMP【Nginx1.22 MySQL5.7 PHP7.4】arm标签是MySQL5.6
lamp 标签表示安装了面板、集成包并且集成LAMP【Apache2.4 MySQL5.7 PHP7.4】arm标签是MySQL5.6

如何拉取镜像
仅拉取镜像保存到本地,不部署容器,仅需拉取一次,永久存储到本地镜像列表

docker pull btpanel/baota:lnmp

小贴士:即使不拉取镜像,在下面部署的时候如果docker本地镜像列表找不到镜像,docker会从云镜像库里面拉取,只要执行一次之后镜像就会永久存储到本地镜像列表中。
疑问?:我是arm服务器arch64架构怎么办?
答疑!:直接拉取镜像即可,docker默认会根据系统架构自动拉取匹配架构的镜像到本地。

如何部署
方法1:复制下方的命令,无需映射端口使用本地网络直接部署宝塔面板docker镜像。

docker run -d --restart unless-stopped --name baota --net=host -v ~/website_data:/www/wwwroot -v ~/mysql_data:/www/server/data -v ~/vhost:/www/server/panel/vhost btpanel/baota:lnmp

方法2:复制下方的命令,映射指定端口部署宝塔面板docker镜像。

docker run -d --restart unless-stopped --name baota -p 8888:8888 -p 22:22 -p 443:443 -p 80:80 -p 888:888 -v ~/website_data:/www/wwwroot -v ~/mysql_data:/www/server/data -v ~/vhost:/www/server/panel/vhost btpanel/baota:lnmp

两种部署方法都会把用户的目录映射到容器中,用户可自行修改映射的目录,方法1案例以如下:

~/website_data修改成/home/website_data
~/mysql_data修改成/home/mysql_data
~/vhost修改成/home/vhost

此时我的容器启动命令就是这个

docker run -d --restart unless-stopped --name baota --net=host -v /home/website_data:/www/wwwroot -v /home/mysql_data:/www/server/data -v /home/vhost:/www/server/panel/vhost btpanel/baota:lnmp

小提示
1.如果你希望运行的docker在你设置了内容以后,再commit打包成自己的镜像留着日后使用,请不要映射目录运行容器,可以使用下面的方法运行容器,这样打包容器就能将你的网站内容、各种设置、数据库一起打包在里面

docker run -d --net=host btpanel/baota:lnmp

2.额外参数作用简要说明:

#重启docker后自启容器
--restart unless-stopped
#命名改容器命为baota,如果已经存在一个请设置成其他
--name baota

如何访问
现在,您可以在浏览器访问默认地址 http://您的ip地址:8888/btpanel 上的宝塔面板。
默认用户:btpanel
默认密码:btpaneldocker
镜像默认SSH密码:btpaneldocker

无法访问?
请检查系统防火墙以及服务器商家安全组是否开放了8888端口,下面给出系统防火墙firewalld(必需)的开放方法
添加8888端口放行(必需):

firewall-cmd --zone=public --remove-port=8888/tcp --permanent

重载firewalld(必需):

firewall-cmd --reload

开放安全组示例(必需):
阿里云
腾讯云

端口使用分析

SSH:22
MySQL:3306
网站服务:80,443
宝塔面板:8888
phpmyadmin:888

目录使用分析

容器里面的网站数据目录:/www/wwwroot
MySQL数据目录:/www/server/data
vhost文件路径:/www/server/panel/vhost

使用有任何问题或者建议,欢迎广大用户在此贴提交,您宝贵的建议会让我们有更大的动力
相关学习教程参考:
https://www.runoob.com/docker/docker-command-manual.html
Docker 官方文档: https://docs.docker.com/

常见问题和解决方法
1.计划任务不自动执行的解决方法
进入容器内

docker exec -it ID bash

然后执行下面的命令重启激活计划任务程序,再删掉面板添加的计划任务重新添加一遍就可以了

pkill crond && /sbin/crond

2.数据库页面提示密码错误的解决方法在数据库页面点击root密码,重置MySQL密码即可

3.fresh、lib标签安装软件后无法自启动的解决方法;根目录下有个bt.sh的文件,添加下面的内容即可,php记得换成自己的版本,如果是apache将nginx换成httpd;其他软件需要自启也同样加内容到这个bt.sh脚本里面。

/etc/init.d/nginx start
/etc/init.d/mysqld start
/etc/init.d/php-fpm-74 start
/etc/init.d/pure-ftpd start
/etc/init.d/bt restart
pkill crond
/sbin/crond
tail -f /dev/null

4.面板终端用不了?想要连接容器内部的SSH,参考这个方法:本贴129楼

5.面板里面的系统防火墙用不了?firewalld用不了?这楼有说明:本贴2楼

遇到了自己无法解决的问题?可以先翻一下评论,如果没有找到适用于自己的请帖子评论留言
问题具体描述:
什么设备:
什么系统和架构:
附件截图:

举个例子:
具体问题描述:btpanel/baota:lnmp标签无法启动
什么设备:物理服务器/云服务器/树莓派/某云arm等
什么系统:Ubuntu20.04/aarch64
截图:错误截图上传图片附件