(转)Docker容器的重启策略及docker run的--restart选项详解
1. Docker容器的重启策略
Docker容器的重启策略是面向生产环境的一个启动策略,在开发过程中可以忽略该策略。
Docker容器的重启都是由Docker守护进程完成的,因此与守护进程息息相关。
Docker容器的重启策略如下:
no,默认策略,在容器退出时不重启容器
on-failure,在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3,在容器非正常退出时重启容器,最多重启3次
always,在容器退出时总是重启容器
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
例如:
docker run -p 8092:80 --name apicloud -v /home/lifehaier:/var/www/html -d --restart=on-failure:3 hub.docker.terminus.io:5000/aabb:20180315
解释:使用docker run命令运行一个容器,该容器内部监听80端口,与宿主机系统8092端口映射,命名该容器名称为apicloud,宿主机系统目录/home/lifehaier与容器内部/var/www/html路径映射,如果容器对应的images路径/var/www/html下面有数据的话,则被宿主机/home/lifehaier路径下面的数据覆盖,-d参数是让容器后台运行,--restart=on-failure:3是指容器在未来出现异常退出(退出码非0)的情况下循环重启3次;hub.docker.terminus.io:5000/aabb:20180315 是images名称,容器基于此images进行启动。
2. Docker容器的退出状态码
docker run的退出状态码如下:
0,表示正常退出
非0,表示异常退出(退出状态码采用chroot标准)
125,Docker守护进程本身的错误
126,容器启动后,要执行的默认命令无法调用
127,容器启动后,要执行的默认命令不存在
其他命令状态码,容器启动后正常执行命令,退出命令时该命令的返回状态码作为容器的退出状态码
3. docker run的--restart选项
通过--restart选项,可以设置容器的重启策略,以决定在容器退出时Docker守护进程是否重启刚刚退出的容器。
--restart选项通常只用于detached模式的容器。
--restart选项不能与--rm选项同时使用。显然,--restart选项适用于detached模式的容器,而--rm选项适用于foreground模式的容器。
在docker ps查看容器时,对于使用了--restart选项的容器,其可能的状态只有Up或Restarting两种状态。
4. 示例与补充
示例:
docker run -d --restart=always bba-208
docker run -d --restart=on-failure:10 bba-208
补充:
#查看容器重启次数
docker inspect -f "{{ .RestartCount }}" bba-208
#查看容器最后一次的启动时间
docker inspect -f "{{ .State.StartedAt }}" bba-208
参考链接:
https://docs.docker.com/engine/reference/run/
https://blog.csdn.net/taiyangdao/article/details/73076019
转自:http://blog.51cto.com/nanfeibobo/2091896
(转)Docker容器的重启策略及docker run的--restart选项详解的更多相关文章
- Docker容器的重启策略及docker run的--restart选项详解
https://blog.csdn.net/taiyangdao/article/details/73076019 1. Docker容器的重启策略 Docker容器的重启策略是面向生产环境的一个启动 ...
- (转)docker run的--rm选项详解
转:https://blog.csdn.net/taiyangdao/article/details/73076770 在Docker容器退出时,默认容器内部的文件系统仍然被保留,以方便调试并保留用户 ...
- Tomcat Docker容器自动重启问题排查
1. 问题 前两天发现 APP 刷新数据偶尔出现等半天没有响应的情况,感觉不像 APP 的问题,就查了下服务端的日志. 服务端用的是 Java,部署采用的 Docker 官方的 tomcat 镜像,并 ...
- Docker容器优雅重启
默认情况下,当 Docker 守护进程终止时,它将关闭正在运行的容器.您可以配置守护程序,以便容器在守护程序不可用时保持运行.此功能称为live-restore.live-restore选项有助于减少 ...
- Docker容器(六)——创建docker私有化仓库
docker私有化仓库是为了节约带宽(外网速度慢或者干脆不能连外网),以及自己定制系统. (1).环境 youxi1 192.168.5.101 docker私有化仓库 youxi2 192.168. ...
- 解决docker容器中文乱码,修改docker容器编码格式
前台上传文件到服务器后,服务器返回给前台的文件列表中出现中文乱码,所有的中文文件名全部变成?,英文文件名则正常显示. 问题经过定位,发现后台代码的multipartfile类在执行transterto ...
- 【原创】深入理解Docker容器和镜像 -- 分析了docker的命令含义
10张图带你深入理解Docker容器和镜像 镜像(Image)就是一堆只读层(read-only layer)的统一视角 要点:容器 = 镜像 + 读写层.并且容器的定义并没有提及是否要运行容器. 一 ...
- docker 容器大小查看及清理docker磁盘空间
本文为博主原创,转载请注明出处: 今天打开服务器下载文件时,发现服务器内存不足,并开始清理服务器内存,排查及清理方法如下: 1. 查看服务器内存大小: df -h 通过 df - ...
- Docker技术入门与实战 第二版-学习笔记-3-Dockerfile 指令详解
前面已经讲解了FROM.RUN指令,还提及了COPY.ADD,接下来学习其他的指令 5.Dockerfile 指令详解 1> COPY 复制文件 格式: COPY <源路径> .. ...
随机推荐
- ffmpeg转码器移植VC的project:ffmpeg for MFC
本文介绍一个自己做的FFMPEG移植到VC下的开源project:ffmpeg for MFC.本project将ffmpegproject中的ffmpeg转码器(ffmpeg.c)移植到了VC环境下 ...
- Failed to execute 'write' on 'Document'动态载入的js不能执行write
统计代码一般都是直接一个标签,插入js,标签放在哪里,统计图表就放在哪里! 我现在是稍微改了一下,我自己加了一点js,在页面所有元素都加载完成之后我再动态的把统计js插入到我需要的地方. 统计代码的s ...
- 使用 Postman 取得 Token 打另一隻 API
使用 Postman 取得 Token 打另一隻 API Spring MVC token 统一校验和user 信息自动获取 使用token和SpringMVC来实现安全的RESTFul接口 spri ...
- GDC2017【神秘海域 4】中所使用的顶点着色器技术
原文链接 http://game.watch.impress.co.jp/docs/news/1047802.html 会場:San Francisco Moscone Convention Ce ...
- 24小时学通Linux内核之向内核添加代码
睡了个好觉,很晚才起,好久没有这么舒服过了,今天的任务不重,所以压力不大,呵呵,现在的天气真的好冷,不过实验室有空调,我还是喜欢待在这里,有一种不一样的感觉,在写了这么多天之后,自己有些不懂的页渐渐的 ...
- [pig] pig 基础使用
1.pig运行模式 本地模式: pig -x local 直接访问本地磁盘 集群模式: pig 或者 pig -x mapreduce 2.pig latin 交互 帮助信息 help 上传本地文件 ...
- MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report e
早上来到公司,线上的项目报错: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionExcepti ...
- TortoiseGit功能介绍
TortoiseGit功能介绍 使用方便 强大的提交对话框 每个项目设置 最小日志消息长度,以避免意外提交空日志消息 用于拼写检查的语言 与问题跟踪系统集成 有用的工具 有多种语言版本 Tortois ...
- C#俄罗斯方块小游戏程序设计与简单实现
C#俄罗斯方块小游戏程序设计与简单实现 相信90后或者80后都玩过这款小游戏,一直想干一票,琢磨一下,但又不太懂,于是网上搜集修改就有了以下效果!bug较多,多多包涵! 1.效果展示 2.实现方法 参 ...
- npm install 错误 安装 chromedriver 失败的解决办法
npm 安装 chromedriver 失败的解决办法npm 安装 chromedriver 时,偶尔会出错,错误提示类似于:npm ERR! chromedriver@2.35.0 install: ...