我有一个包含以下内容的docker-compose.yml文件:
services:
kafka_listener:
build: .
command: bundle exec ./kafka foreground
restart: always
# other services然后我从容器开始:docker-compose up -d
在我的亚马逊实例上,kafka-server (例如)有时无法启动,因此./kafka foregound脚本失败。当输入docker ps时,我看到一条消息:Restarting (1) 11 minutes ago。我认为docker应该立即重启失败的容器,但似乎没有。毕竟,容器在第一次尝试失败后30分钟内就重启了。
有没有办法让Docker-Compose在失败后立即重启容器?
发布于 2017-03-27 15:15:04
您可以使用此策略:
on-failureon-failure策略有点有趣,因为它允许您在退出代码指示错误而不是退出代码指示成功的情况下告诉Docker重启容器。您还可以指定Docker自动重启容器的最大次数。像on-failure:3一样,它会重试3次。
unless-stoppedunless-stopped重启策略的行为与往常一样,只有一个例外。当容器停止并重启服务器或重启Docker服务时,容器不会重启。
希望这篇文章能帮助你解决这个问题。
谢谢!
https://stackoverflow.com/questions/43039922
复制相似问题