当使用docker run命令运行一个容器的时候,使用--restart选项可以配置该容器的重启策略。

no

不要自动重启容器(默认)

on-failure[:max-retries]

如果容器发生错误导致退出(非0退出状态),则重启该容器。可以使用 :max-retries 选项限制尝试重启的次数。

always

如果容器退出了,总是重启该容器。如果该容器是手动停止的,那么只有在重启docker daemon或者手动重启该容器时,该容器才会重新启动。

unless-stopped

与 always 策略相似,不同的是:当容器停止后(手动或其他原因),即使重启docker daemon,该容器也不会重新启动

使用重启策略时的注意事项:

1、只有当容器成功启动后,其配置的重启策略才会生效。容器成功启动指的是该容器已经运行了至少10秒钟,并且Docker已经开始监控该容器。这避免了一个不能完全启动成功的容器陷入重启循环。

2、如果你手动停止了一个容器,那么其配置的重启策略会失效,直到Docker daemon重启后或者手动重启该容器后,其重启策略才会重新生效。这也是为了避免容器陷入重启循环。

3、重启策略只对容器生效。针对swarm services的重启策略需要进行其他的配置。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐