Docker容器状态的形成过程

Docker容器状态的形成过程
​​
Docker容器状态的形成过程
下图中是docker运行的几种状态,带有颜色的圆形块,是都可以在docker
在这里插入图片描述

ps中查看到的状态

容器的运行过程

容器的创建和运行
docker create 创建容器但不会运行(None—create—created)
docker start 启动一个已经创建的容器(created—start—running)
docker run 创建并启动容器(None—created—start—running)
容器的运行和停止
docker start 启动一个停止中的容器(stopped—start—running)
docker stop 停止一个运行中的容器(running—die—stop—exited)
docker kill 杀死一个运行中的容器(running—die—kill—exited)
容器的重启
docker restart 重启一个运行中的容器(running—die—start—running)
容器的暂停
docker pause 暂停一个运行中的容器(running—pause—paused)
docker unpause 解除容器的暂停(paused—unpause—running)
容器进程退出或内存溢出
进程退出:Container process exited

内存溢出:killed by out of memory

图中红色方框圈出的这两项,都会经过die然后出现一个restart Policy,是否重新启动服务的一个策略,它由你在运行容器时,是否指定了–restart参数,来决定。在之前我们也用到过,如:

docker run -it --name test --restart always centos /bin/bash
–restart

判断是否重启的标准就是硬件原因和内存原因

always:表示不管遇到什么错误都进行重新启动容器

never:不管遇到什么错误都不重启

on-failure:容器状态以非0状态码退出时重新启动容器,on-failure:10,表示重启失败的次数,连续10次还是启动不了就不再重新启动

unless-stopped,无论退出码时什么,始终重新启动容器,不过当daemon启动时,如果容器之前已经为停止状态,不要尝试启动它。

在每次重启容器之前,不断地增加重启延迟[上一次重启的双倍延迟,从100毫秒开始]来防止影响服务器。这意味着daemon将等待100ms,然后200 ms, 400, 800, 1600等等,直到超过on-failure限制,或执行docker stop或docker rm -f。

如果容器重启成功[容器启动后并运行至少10秒],然后delay重置为默认的100ms。
你可以使用on-failure策略指定docker尝试重启容器的最大次数。

容器会根据配置决定是否重启:
systemctl stop docker docker主进程退出(running—Container process exited—die—restart Policy—yes/no—running/exited)
内存溢出(running—killed by out of memory—OMM—die—restart Policy—yes/no—running/exited)
容器的删除
docker rm 删除一个创建中或停止中的容器(created/stopped—destroy—deleted)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值