大家好,我是 @洛竹 本文首发于 洛竹的官方网站 本文同步于公众号『洛竹早茶馆』,转载请联系作者。 创作不易,养成习惯,素质三连!
本文主要介绍如何将宝塔面板作为 Docker 容器安装在 Linux 服务器上。其实对于宝塔一开始我是拒绝的,毕竟我之前是可以熟练操作 Linux 服务器的。别提宝塔面板了,就连 lnmp.org 一键安装包我都不用,全程命令行操作无压力。这一切都是从入行前端之后改变了。每次想搞点什么的时候,都要先熟悉一遍命令很耽误事,这时我就想起宝塔来了。Docker 的入门,可以看下我的垃圾文,保证前端也能
宝塔 Linux 面板是提升运维效率的服务器管理软件,支持一键 LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA 等 100 多项服务器管理功能。有 30 个人的专业团队研发及维护,经过 200 多个版本的迭代,功能全,少出错且足够安全,已获得全球百万用户认可安装。运维要高效,装宝塔。——官网简介
Centos7.x > Debian10 > Ubuntu 20.04 > Cenots8.x > Ubuntu 18.04 > 其它系统
,而用户的主机五花八门,为了获取最佳的兼容性,使用 Docker 部署是不二选择。推荐使用脚本安装:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
安装成功后,会自动启动 Docker 服务。用户可以使用 systemctl is-enabled docker
来确认 Docker 服务是否是开机自启动。如果不是请使用 systemctl enable docker
设置自启动。
「代理加速」
执行 nano /etc/docker/daemon.json
中写入如下内容:
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://mirror.ccs.tencentyun.com",
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
]
}
宝塔需要的端口:8888、888、20、21、80、443
curl -fsSL https://youngjuning.js.org/shell/baota/install.sh | sh
/www/wwwroot
挂载在宿主机的 ~/wwwroot
目录/www
挂载在 baota_www
volume,即 /var/lib/docker/volumes/baota_www/
上面的脚本是为了我为了方便管理,等价于
docker run -tid --name baota --net=host --privileged=true --shm-size=1g --restart always -v baota_www:/www -v ~/wwwroot:/www/wwwroot pch18/baota
http://{{面板ip地址}}:8888
username
password
「进入容器:」
docker exec -it baota bash
「执行 bt
进行交互式操作:」
[root@bebc0d8e35b1 wwwroot]# bt
===============宝塔面板命令行==================
(1) 重启面板服务 (8) 改面板端口
(2) 停止面板服务 (9) 清除面板缓存
(3) 启动面板服务 (10) 清除登录限制
(4) 重载面板服务 (11) 取消入口限制
(5) 修改面板密码 (12) 取消域名绑定限制
(6) 修改面板用户名 (13) 取消IP访问限制
(7) 强制修改MySQL密码 (14) 查看面板默认信息
(22) 显示面板错误日志 (15) 清理系统垃圾
(23) 关闭BasicAuth认证 (16) 修复面板(检查错误并更新面板文件到最新版)
(24) 关闭谷歌认证 (17) 设置日志切割是否压缩
(25) 设置是否保存文件历史副本 (18) 设置是否自动备份面板
(0) 取消
===============================================
如果我们迁移的话,不需要再重复上面的安装配置步骤,直接使用我提供的脚本:
curl -fsSL https://youngjuning.js.org/shell/baota/backup.sh | sh
压缩包 baota.tar
将备份到当前目录,上传到新的服务器之后载入容器:
docker load -i baota.tar
恢复容器:
curl -fsSL https://youngjuning.js.org/shell/baota/restore.sh | sh
netstat -lnp|grep 80
查看进程 PID,然后使用 kill -9 XXXX
结束该进程 (xxxx 为进程的相关 pid)。curl -fsSL http://youngjuning.js.org/shell/nginx/uninstall.sh | sh