docker-compose重启inverval

我有一个docker-compose.yml文件,内容如下:

services: kafka_listener: build: . command: bundle exec ./kafka foreground restart: always # other services

然后我启动容器: docker-compose up -d

在我的amazon实例kafka-server(例如)有时无法启动,所以./kafka foregound脚本失败。 当inputdocker ps我看到一条消息: Restarting (1) 11 minutes ago 。 我以为docker应该立即重启失败的容器,但似乎没有。 毕竟,自从首次尝试失败以来,集装箱已经在大约30分钟内重新启动。

那么,有什么办法可以告诉Docker-Compose在失败后立即重启容器吗?

你可以使用这个政策:

  • on-failure

on-failure策略有点有趣,因为如果退出代码指示错误,而不是退出代码指示成功,则允许您告诉Docker重新启动容器。 您还可以指定Docker将自动重新启动容器的最大次数。 如on-failure:3将重试3次。

  • unless-stopped

unless-stopped重新启动策略的行为与往常一样,只有一个例外。 当一个容器被停止并且服务器重启或者Docker服务重启时,容器将不会被重启。

希望这会帮助你解决这个问题。

谢谢!