Docker中安装宝塔面板,如何让宝塔面板随容器启动而自动启动宝塔服务?

博主在ARM架构机器上安装Docker后尝试部署宝塔面板,遇到镜像不兼容及服务未运行的问题。通过在Docker Hub找到合适镜像,但容器内宝塔面板服务未启动。尝试在CMD或入口点执行启动命令失败,后采用编写并编译C程序来自动启动宝塔服务,最终实现容器内宝塔面板的顺利运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天装了Docker,后来想再建个站,机器本身就装有站点,这一搞就要出问题了!于是想到Docker中装宝塔!奈何是arm机器,一开始没注意,后来发现系统架构问题。docker靠前的镜像大多是arm64的,根本无法在arm里运行。又去 Docker Hub Container Image Library,找到了合适的镜像,等我搭建好后!ip:8888 无法访问,进容器终端发现 宝塔面板服务压根没有运行,玩我是吧。。。。。。。。

直接在 容器的CMD 或入口点写

bt start

不行,容器启动后又停止了!

原本在容器的CMD 或入口点写

/bin/bash

也就是说,容器启动后 容器的CMD 或入口点 的命令不能中途退出或执行结束!

这样啊!嘿嘿那就这样吧...

bt start;/bin/bash

还是运行不了!

网上的很多方法出的是莫名其妙的错误!

不过,还有一招,直接用c编译一个Linux程序后,宝塔启动的命令可交给程序!

/root/docker/bt/autostart.c

中写入

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(){
	printf("Welcome to Autostart!");
	system("bt start");
	system("/bin/bash");
}

注:要在运行环境的架构中编译,否则程序又出错了!

开始编译....

注:我的当前目录是在autostart.c下的

gcc autostart.c

得到一个文件

a.out

让容器绑定 宿主机的一个目录,将a.out放到目录下!

然后,容器的CMD 或入口点 指向该程序!

再次启动容器,运行成功!

### 如何在 Docker 容器安装和配置宝塔面板 #### 创建并启动 CentOS 容器 为了在 Docker 中运行宝塔面板,首先需要创建一个基于 CentOS 的容器,并将其网站路径挂载到本地文件系统: ```bash docker run -d \ --name=baota \ -v /Users/xxxxx/Documents/baota_wwwroot:/www/wwwroot \ centos:latest ``` 这会创建一个新的名为 `baota` 的容器实例[^1]。 #### 进入容器环境 一旦容器成功启动,可以通过以下命令进入交互模式下的 Bash shell: ```bash docker exec -it baota /bin/bash ``` 此操作允许直接在容器内部执行命令[^2]。 #### 安装依赖包 在容器安装必要的软件包以便后续能够顺利部署宝塔面板: ```bash yum update -y && yum install -y wget curl net-tools vim epel-release ``` 这些工具对于网络调试以及下载其他资源非常有用。 #### 下载并安装宝塔面板 通过官方提供的脚本来完成宝塔面板自动安装过程: ```bash wget http://download.bt.cn/install/install.sh chmod +x install.sh ./install.sh ``` 按照屏幕提示设置管理员密码和其他选项即可完成整个安装流程[^3]。 #### 设置端口映射 为了让外部设备能访问到宝塔面板所提供的服务,在启动容器时还需要指定额外参数来开放所需的服务端口。例如,如果要使 HTTP(S) 和 SSH 服务可用,则可以在最初创建容器的时候加上如下参数: ```bash -p 80:80 -p 443:443 -p 2222:22 ``` 这样就可以从宿主机或者其他联网机器上正常浏览由该容器托管的应用程序了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值