Docker 安装宝塔面板

服务器环境基于Ubuntu 20.04

第一步: 安装Docker运行环境

详细的操作步骤可以参考之前的文章

Ubuntu20安装Docker

第二步: 启动Docker的Ubuntu基础环境镜像

#新建web数据的存放目录
mkdir /home/www

#启动容器
#--restart=always 重启docker的时候自动重启宝塔的container
#--name baota 容器名称设置为baota
#-p 80:80 -p 443:443 -p 888:888 -p 8888:8888 主机和容器之间的端口映射
#-v /home/www:/www 挂载主机的/home/www 到容器的/www
#ubuntu:20.04 启动的镜像名称, 可以换成自己熟悉的系统, 比如centos
docker run -i -t -d --restart=always --name baota -p 80:80 -p 443:443 -p 888:888 -p 3306:3306 -p 8888:8888 --privileged=true -v /home/www:/www ubuntu:20.04

第三步:进入容器的终端使用宝塔的安装脚本进行安装

#进入容器的shell
docker attach baota

#修改系统源, 安装基础的工具
sed -i "s/archive.ubuntu/mirrors.aliyun/g" /etc/apt/sources.list
apt update

#安装必要的系统工具包
apt install wget curl lsof build-essential cmake libxml2-dev openssl libssl-dev -y

#禁用容器的防火墙
ufw disable

#使用宝塔官方的脚本按照脚本提示进行安装
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

按照官方脚本安装之后, 就可以正常登录面板, 并安装web环境. 但是这样还不完美, 你会发现每次重启docker容器, 还需要手动重启里面的nginx, mysql等服务.

接下来介绍如何添加容器内服务的启动脚本

第四步:添加容器内服务的启动脚本

#创建启动脚本
vim /root/start.sh

文件内容如下:

#!/bin/sh

/etc/init.d/bt start    #启动宝塔面板
/etc/init.d/nginx start    #启动nginx
/etc/init.d/mysqld start    #启动MySQL数据库
/bin/bash

输入exit退出容器shell, 回到主机的shell

停止已经在运行的宝塔容器

docker stop baota

提交容器的更改

docker commit baota ubuntu:baota

创建docker构建文件

vim Dockerfile

文件内容如下:

From ubuntu:baota

CMD [ "/bin/bash","/root/start.sh"]

根据Dockerfile生成新的镜像

docker build -t baota ./

启动新的容器

docker run -i -t -d --restart=always --name bt -p 80:80 -p 443:443 -p 888:888 -p 3306:3306 -p 8888:8888 --privileged=true -v /home/www:/www baota

至此完成启动脚本的配置

 

 

Tags:

Add a Comment

您的电子邮箱地址不会被公开。