当前位置: 主页 > 服务器 >

Docker启动镜像就自动退出问题及解决

时间:2023-12-28 15:44来源:网络 作者:秩名 点击:
Docker启动镜像就自动退出问题 一、问题引入 根据镜像启动容器,执行命令如下:docker run --name mycentos -d centos,通过docker ps查看正在运行中容器,缺找不到mycentos容器。 再次通过docker

Docker启动镜像就自动退出问题

一、问题引入

根据镜像启动容器,执行命令如下:docker run --name mycentos -d centos,通过docker ps查看正在运行中容器,缺找不到mycentos容器。

再次通过docker ps -a查看发现,mycentos容器已经处于停止状态了。

二、原因

Docker容器后台运行,就必须有一个前台进程.

容器运行的命令如果不是那些一直挂起的命令(eg. 运行top,tail等),就是会自动退出

这个是 docker 的机制问题,比如我们的 web 容器,以 nginx 和 fpm 为例, 

正常情况下,启动服务只需启动相应的 service 即可,例如:service nginx start && service php5-fpm start,但是,这样做, nginx 和 fpm 均以后台进程模式运行,就会导致 docker 前台没有正在运行的应用,

so,容器会立即自杀,因为他觉得没事可做了。

三、解决方案

3.1 将要运行的程序以前台进程的形式运行

将要运行的程序以前台进程的形式运行,如果容器需要同时启动多个进程,那么也只需要将其中一个挂起到前台即可。 

比如上面所说的 web 容器,只需要将启动指令修改为: (责任编辑:阿里技术)

织梦二维码生成器
顶一下
(2)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片