云服务器网:购买云服务器和VPS必上的网站!

docker容器中运行的宝塔面板不自启动如何解决

宝塔面板是一款非常好用的服务器管理面板,我们有些项目中为了方便客户操作管理服务器,会给服务器装这个面板,常规情…

宝塔面板是一款非常好用的服务器管理面板,我们有些项目中为了方便客户操作管理服务器,会给服务器装这个面板,常规情况下宝塔面板安装在服务器中会自动启动,但在docker容器中会因为挂载本地目录的原因有时候无法自启成功。

启动容器后通过docer exec 命令进入宝塔所在容器后,手动重启宝塔的服务后可以运行,但是web服务器又无法运行,需要登录宝塔面板后再次点击启动才可以,这样如果服务器断电或非计划关机后,web和对应的服务器就没法自动重启,安装宝塔面板就没有实际性意义了。

我们可以创建一个脚本文件,在docer的容器在启动的时候,执行一次宝塔重启、web服务器重启、mysql重启、如果还有其他的需要可以一并添加,我这里使用通的web服务器是nginx、mysql、php,所以我在系统根目录创建了stat.sh的文件,里面的内容如下:

/usr/bin/bt restart;

/etc/init.d/nginx restart;

/etc/init.d/php-fpm-73 restart;

/etc/init.d/mysqld restart;

但是另一个问题出现了,docker容器的启动很快,在启动的时候挂载的文件还没准备完成,导致命令启动失败,所以在启动后执行这个脚本的时候需要加一条延迟的命令,

sleep 5;

意思是在启动后5秒在往下执行命令。

这样容器在启动后,docker就回自动对脚本中涉及到的服务进行重启了。

本文来源:https://www.yuntue.com/post/180164.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注