Docker 自动重启容器
使用方法:docker container update --restart=always 容器名字docker run --restart=always --name ng_test-d nginx//无论容器退出代码是什么,docker 都会自动重启容器限制重启次数:--restart=on-failure:5 ,当容器退出代码不为0时,最多重启5次....
使用方法:
docker container update --restart=always 容器名字
docker run --restart=always --name ng_test -d nginx
//无论容器退出代码是什么,docker 都会自动重启容器
限制重启次数:--restart=on-failure:5 ,当容器退出代码不为0时,最多重启5次.
Docker容器的重启策略
Docker容器的重启策略是面向生产环境的一个启动策略,在开发过程中可以忽略该策略
Docker容器的重启都是由Docker守护进程完成的,因此与守护进程息息相关
no,默认策略,在容器退出时不重启容器
on-failure,在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3,在容器非正常退出时重启容器,最多重启3次
always,在容器退出时总是重启容器
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
Docker容器的退出状态码
docker run的退出状态码如下:
0,表示正常退出
非0,表示异常退出(退出状态码采用chroot标准)
125,Docker守护进程本身的错误
126,容器启动后,要执行的默认命令无法调用
127,容器启动后,要执行的默认命令不存在
其他命令状态码,容器启动后正常执行命令,退出命令时该命令的返回状态码作为容器的退出状态码3.
通过--restart选项,可以设置容器的重启策略,以决定在容器退出时Docker守护进程是否重启刚刚退出的容器
--restart 通常只用于detached模式的容器
--restart 不能与–rm选项同时使用。显然,--restart选项适用于detached模式的容器,而–rm选项适用于foreground模式的容器
在docker ps查看容器时,对于使用了--restart选项的容器,其可能的状态只有Up或Restarting两种状态
docker run -d --restart=always n1
docker run -d --restart=on-failure:10 n1
查看容器重启次数
docker inspect -f "{{ .RestartCount }}" n1
查看容器最后一次的启动时间
docker inspect -f "{{ .State.StartedAt }}" n1
自动重启容器
如果出于某种错误而导致容器停止运行,可以通过--restart标志,让docker自动重启该容器。--restart标志会自动检查容器退出代码,由此来决定是否重启容器,默认不会重启机器。此标志是docker1.2.0引入的选项。
无论退出代码是什么,都会重启容器
docker run --restart=always --name daemon_dave -d ubuntu /bin/sh -c “while; do echo hello world ;sleep 3; done”
只有当容器退出代码为非0值的时候,才会重启容器
docker run --restart=on-failure --name daemon_dave -d ubuntu /bin/sh -c “while; do echo hello world ;sleep 3; done”
退出代码非0值,尝试重启容器,最多重启5次
docker run --restart=on-failure:5 --name daemon_dave -d ubuntu /bin/sh -c “while; do echo hello world ;sleep 3; done”
更多推荐
所有评论(0)