docker-compose 重启间隔

问题描述 投票:0回答:1

我有一个

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

docker docker-compose
1个回答
10
投票

您可以使用此政策:

  • on-failure

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

  • unless-stopped

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

© www.soinside.com 2019 - 2024. All rights reserved.