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