Docker run参考(7) – Restart策略(–restart)
运行容器时使用–restart参数可以指定一个restart策略,来指示在退出时容器应该如何重启或不应该重启。
当容器启用restart策略时,将会在docker ps显示Up或者Restarting状态。也可以使用docker events命令来生效中的restart策略。
docker支持如下restart策略:
在每次重启容器之前,不断地增加重启延迟[上一次重启的双倍延迟,从100毫秒开始]来防止影响服务器。这意味着daemon将等待100ms,然后200 ms, 400, 800, 1600等等,直到超过on-failure限制,或执行docker stop或docker rm -f。
如果容器重启成功[容器启动后并运行至少10秒],然后delay重置为默认的100ms。
你可以使用on-failure策略指定docker尝试重启容器的最大次数。默认下docker将无限次数重启容器。可以通过docker inspect来查看已经尝试重启容器了多少次。例如,获取容器“my-container”的重启次数:
$ docker inspect -f "{{ .RestartCount }}" my-container # 2
或者获取上一次容器重启时间:
$ docker inspect -f "{{ .State.StartedAt }}" my-container # 2015-03-04T23:47:07.691840179Z
示例
$ docker run --restart=always redis
这运行了一个restart策略为always的redis容器,以使得容器退出时,docker将重启它。
$ docker run --restart=on-failure:10 redis
这个运行了一个restart策略为on-failure,最大重启次数为10的redis容器。如果redis以非0状态退出连续退出超过10次,那么docker将中断尝试重启这个容器。只有on-failure策略支持设置最大重启次数限制。
版权声明:Docker run参考(7) – Restart策略(–restart)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。