能!
启动容器的时候,可以指定容器在某些可预测(docker engine重启)与不可预测(机器宕机重启)时的重启行为,利用这个功能,我们可以放心当重启docker engine,也不用担心机器重启导致应用不可用。
这个神奇的功能是“restart polices”,定义了当容器因为某种原因停掉之后的行为,有四种police:
- no,无论什么时候容器因为什么原因宕掉,都不重启;
- on-failure,如果容器因为某种错误宕掉,就重启;
- always,与no相反,无论什么时候容器因为什么原因宕掉,都会尝试重启;
- unless-stopped,除了执行过docker stop,否则都会重启。
咋用啊
很简单,可以在docker run中指定,也可以在compose文件中指定:
如我启动一个nginx:docker run -d nginx:1.17.2-alpine,那么其restart policy就是默认值no,不会重启;如果:docker run -d --restart always

Docker提供了重启策略(restart policies),确保在docker engine重启或机器宕机后,容器能够自动恢复。四种策略包括:no, on-failure, always, unless-stopped。使用时可在docker run或docker-compose中指定。当容器退出时,docker daemon通过监听和处理事件来决定是否重启,这一过程涉及源码中的ShouldRestart函数和ProcessEvent函数。"
70256757,5809321,Android差分升级与掉电问题分析,"['Android开发', '系统升级', '移动设备管理']
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



