docker-compose重新启动间隔

nat*_*odd 5 docker docker-compose

我有docker-compose.yml一个以下文件:

services:
  kafka_listener:
    build: .
    command: bundle exec ./kafka foreground
    restart: always
  # other services
Run Code Online (Sandbox Code Playgroud)

然后,我开始使用以下容器: docker-compose up -d

在我的亚马逊实例上,kafka-server(例如)有时无法启动,因此./kafka foregound脚本失败。键入时,docker ps我会看到一条消息:Restarting (1) 11 minutes ago。我以为docker应该立即重新启动失败的容器,但事实并非如此。毕竟,自第一次尝试失败以来,容器已在大约30分钟内重新启动。

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

chi*_*kar 6

您可以使用以下政策:

  • on-failure

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

  • unless-stopped

unless-stopped重新启动策略表现为总是有一个例外是相同的。当容器停止并且服务器重新启动或Docker服务重新启动时,该容器将不会重新启动。

希望这对您有帮助。

谢谢!