docker自动启动容器策略

文章2021-03-26
docker自动启动容器策略-下一朵云

Docker提供了重新启动策略 来控制容器在退出时或Docker重新启动时是否自动启动。重新启动策略可确保以正确的顺序启动链接的容器。

1.使用重启策略

要为容器配置重新启动策略,请–restart在使用该docker run命令时使用该标志。–restart标志的值可以是以下任何一种:

标志描述
no不要自动重启容器。(默认)
on-failure如果容器由于错误而退出,则重新启动容器,该错误表现为非零退出代码。
always如果容器停止,请务必重启容器。如果手动停止,则仅在Docker守护程序重新启动或手动重新启动容器本身时才重新启动。
unless-stopped在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

以下示例启动Redis容器并将其配置为始终重新启动,除非明确停止或重新启动Docker。

docker run -dit --restart unless-stopped redis

2.重启策略详情

使用重启策略时请记住以下几点:

重启策略仅在容器成功启动后生效。在这种情况下,成功启动意味着容器启动至少10秒并且Docker已开始监视它。这可以防止根本不启动的容器进入重启循环。

如果手动停止容器,则会忽略其重新启动策略,直到Docker守护程序重新启动或手动重新启动容器。这是防止重启循环的另一种尝试。

重新启动策略仅适用于容器。群组服务的重新启动策略配置不同。请参阅与服务重新启动相关的标志。

3.如果run时没有添加restart 可以通过update命令追加

以下示例为Redis容器追加重启策略

docker update --restart=always redis