参数:--restart
解释:
Docker容器的重启策略是面向生产环境的一个启动策略,在开发过程中可以忽略该策略。Docker容器的重启都是由Docker守护进程完成的,因此与守护进程息息相关。一般用于正式的生产环境
3个参数值
no :为默认值,表示容器退出时,docker不自动重启容器
on-failure :若容器的退出状态非0,则docker自动重启容器,还可以指定重启次数,若超过指定次数未能启动容器则放弃
always :只要容器退出,则docker将自动重启容器
示例1:容器只要停止运行时总是自动重启容器
docker run -d --restart=always
示例2:如果容器非正常关闭,最多尝试重启3次
docker run -d --restart=on-failure:3
补充说明:
查看容器重启次数
docker inspect -f "{{ .RestartCount }}" 容器名称
查看容器最后一次的启动时间
docker inspect -f "{{ .State.StartedAt }}" 容器名称
如果容器启动时没有设置--restart参数,则通过下面命令进行更新,2ef06a364009是容器的ID
docker update --restart=always 2ef06a364009
docker update --restart=on-failure:3 2ef06a364009
Docker容器的退出状态码
0# 表示正常退出
非0 # 表示异常退出(退出状态码采用chroot标准)
125# Docker守护进程本身的错误
126# 容器启动后,要执行的默认命令无法调用
127 # 容器启动后,要执行的默认命令不存在
其他命令状态码,容器启动后正常执行命令,退出命令时该命令的返回状态码作为容器的退出状态码
参数使用的条件
1、--restart 选项通常只用于detached模式的容器。
2、--restart 选项不能与 --rm 选项同时使用。显然,--restart选项适用于detached模式的容器,而 --rm 选项适用于foreground模式的容器。
3、在docker ps查看容器时,对于使用了--restart选项的容器,其可能的状态只有Up或Restarting两种状态。
如果觉得《Decker容器命令 docker run 之 --restart 重启策略》对你有帮助,请点赞、收藏,并留下你的观点哦!