Docker 安装配置宝塔面板
宝塔面板是什么?
宝塔 Linux 面板是提升运维效率的服务器管理软件,支持一键 LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA 等 100 多项服务器管理功能。有 30 个人的专业团队研发及维护,经过 200 多个版本的迭代,功能全,少出错且足够安全,已获得全球百万用户认可安装。运维要高效,装宝塔。
为什么使用 Docker 安装?
环境隔离,一个主机可以部署多套服务
宝塔对主机控制度较高,依赖关系复杂,而 Docker 可以保证宝塔服务不影响到宿主机其他服务。
由于和宿主机环境隔离,不容易被木马工具。
宝塔面板的兼容性顺序为
Centos7.x > Debian10 > Ubuntu 20.04 > Cenots8.x > Ubuntu 18.04 > 其它系统
,而用户的主机五花八门,为了获取最佳的兼容性,使用 Docker 部署是不二选择。Docker 管理成本低,方便迁移。
可随时管理容器,无需重置服务器。
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.baidubce.com", "https://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
进行交互式操作:
进阶配置
登录面板后,请立即修改面板用户和面板密码,并建议修改面板端口和安全入口。
更新的话,可以使用面板提供的更新功能。
备份宝塔面板容器
如果我们迁移的话,不需要再重复上面的安装配置步骤,直接使用我提供的脚本:
curl -fsSL https://youngjuning.js.org/shell/baota/backup.sh | sh
#!/bin/bash if [[ "$(docker images -q baota 2> /dev/null)" != "" ]]; then docker rmi baota fi docker commit -a "backup_shell" -m "backup baota" -p baota baota docker save -o baota.tar baota
压缩包 baota.tar
将备份到当前目录,上传到新的服务器之后载入容器:
docker load -i baota.tar
恢复容器:
curl -fsSL https://youngjuning.js.org/shell/baota/restore.sh | sh
docker run -tid --name baota --net=host --privileged=true --shm-size=1g --restart always -v baota_www:/www -v ~/wwwroot:/www/wwwroot baota
已知问题
部分机器初始化环境可能某些端口被占用,比如 80 端口被占用,使用
netstat -lnp|grep 80
查看进程 PID,然后使用kill -9 XXXX
结束该进程 (xxxx 为进程的相关 pid)。如果事先安装了 nginx,请先卸载,完全卸载请执行
curl -fsSL https://youngjuning.js.org/shell/nginx/uninstall.sh | sh
暂无评论
发表评论