宝塔面板 容器镜像
大约 3 分钟
宝塔面板 容器镜像
1. 编写宝塔安装脚本
#!/usr/bin/expect -f
set timeout -1
spawn wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh
expect eof
spawn bash install.sh 8234aaab4
expect {
-re ".*(y/n).*" { send "y\r"; exp_continue }
-re ".*Time consumed.*" { send_user "Installation complete, exiting...\n"; exit 0 } # 捕获安装完成提示并强制退出
}
expect eof
将文件保存,命名为
install_bt.sh
2. 编写 Dockerfile
# 海外服务器可直接使用dockerHub官方源
# FROM ubuntu:latest
# 国内服务器可使用 AtomHub 提供的源
FROM atomhub.openatom.cn/amd64/ubuntu
# 设置时区和环境变量
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 更新软件包列表并安装必要的软件包
RUN apt-get update && \
apt-get install -y wget curl sudo expect && \
apt-get clean
# 添加 expect 脚本
ADD install_bt.sh /install_bt.sh
# 设置安装脚本的执行权限
RUN chmod +x /install_bt.sh
# 运行安装宝塔面板的脚本
RUN /install_bt.sh
# 设置启动命令
CMD /etc/init.d/bt start && tail -f /dev/null
将文件保存,命名为
dockerfile
2. 构建 Docker 镜像
在终端中导航到包含 Dockerfile 的目录,然后运行以下命令构建 Docker 镜像:
docker build -t my-bt-image .
其中 my-bt-image
是镜像的名称,你可以根据需要进行修改。构建过程完成后,你可以使用以下命令查看镜像列表:
docker images
3. 运行 Docker 容器
使用构建好的镜像运行一个 Docker 容器:
docker run --name bt -id my-bt-panel
4. 进入容器内部查看默认端口、账号、密码
docker exec -it bt /bin/bash
输入:
bt 14
你可以看到:
===============================================
正在执行(14)...
===============================================
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
/etc/init.d/bt: line 413: ip: command not found
==================================================================
BT-Panel default info!
==================================================================
外网面板地址: http://101.237.129.106:13051/4fa05000
内网面板地址: http://:13051/4fa05000
username: vp5vtxwj
password: e5898744
Warning:
If you cannot access the panel,
release the following port (8888|888|80|443|20|21) in the security group
注意:初始密码仅在首次登录面板前能正确获取,其它时间请通过 bt 5 命令修改密码
==================================================================
注意
由于镜像构建完成后,所有的信息在启动时都不会发生变化,所以你需要记录 账号、密码、端口 等信息用于后续的启动
在这个镜像中我记录到的信息就是:
- 账号:vp5vtxwj
- 密码:e5898744
- 端口:13051
- 面板入口:4fa05000
5.退出并删除容器,重新创建一个新的正式容器
- 键盘按下
Ctrl+D
退出容器 - 删除容器:
docker stop bt && docker rm bt
- 创建新的容器:
docker run --name bt -p 13051:13051 -p 888:888 -p 82:80 -p 445:443 -id my-bt-panel
- 浏览器访问:
http://服务器IP:13051/4fa05000
- 输入账号密码即可登录宝塔面板
注意
还是那个原因,由于宝塔面板的安装实际上已经在构建镜像时完成,所以你只要是使用此镜像启动容器,都会出现相同的账号、密码、端口、入口信息,所以请保管好这些信息,避免忘记