docker-compose restart inverval

时间:2017-03-27 07:07:28

标签: docker docker-compose

我有一个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在失败后立即重启容器?

1 个答案:

答案 0 :(得分:3)

您可以使用此政策:

  • on-failure

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

  • unless-stopped

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

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

谢谢!