marathon部署docker的nginx镜像失败,容器一直提示Exit(0)解决方法

文章详细介绍了使用Marathon部署自定义Nginx镜像时遇到的困难,通过阅读华为研发团队的Docker书籍,发现需要在nginx配置文件中设置daemonoff以确保Marathon能够正确检测容器状态。同时提供了使用docker ps-a和docker logs容器id来诊断容器退出原因的方法。

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

一直使用marathon部署docker的nginx镜像,

处于好奇,自己制作一个镜像,但是使用marathon部署自己制作的nginx镜像,一直无法成功,

使用docker ps -a查看,发现全是Exit(0) 

经过翻阅华为研发团队出版的docker书.

里面提到了,需要把nginx的守护进程模式关闭掉. 

因为marathon部署docker的时候,运行nginx的时候,默认的是开启守护进程,直接放在后台执行.导致marathon无法检测到当前运行的东西是否还活着.

所以使用marathon部署nginx的容器,需要设置nginx.conf配置文件里面的

daemon off

如果不设置则默认为on

<<深入理解nginx>>第二版 中提到,可以使用 nginx -g "deamon off" 来添加全局变量.

这样就可以在marathon脚本中添加这个参数,不用修改nginx的配置文件.

 

  1. 使用docker查看容器退出原因

docker ps -a

找到退出容器的id

然后使用

docker logs 容器id

可以看到退出的原因

转载于:https://my.oschina.net/u/1538135/blog/681401

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值