docker容器中运行的宝塔面板不自启动如何解决
时间:2021-01-28 12:01:51 栏目:互联网资讯
【导读】:4577导航(http://www.4577.cn/)在线提供,互联网资讯「2把火烧过之后 供应链谁能存活?」,供互联网资讯爱好者免费阅读。本文地址:/news/1260.html
宝塔面板是一款非常好用的服务器管理面板,我们有些项目中为了方便客户操作管理服务器,会给服务器装这个面板,常规情况下宝塔面板安装在服务器中会自动启动,但在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就回自动对脚本中涉及到的服务进行重启了。
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、、文章来源:/news/1260.html