Docker入门(6)|自动重启
发布日期:2021-05-10 18:56:30 浏览次数:12 分类:精选文章

本文共 831 字,大约阅读时间需要 2 分钟。

容器有4种状态

  • 运行
  • 已暂停
  • 重新启动
  • 已退出

持久化的一种策略就是在遇到故障时候进行自动重启。

自动重启

自动重启的命令:–restart

docker run --name dockername --restart always busybox date

查看日志

docker logs -f backoff-detector Sun Apr 21 01:52:04 UTC 2019 Sun Apr

21 01:52:06 UTC 2019 Sun Apr 21 01:52:08 UTC 2019 Sun Apr 21
01:52:11 UTC 2019 Sun Apr 21 01:52:13 UTC 2019 Sun Apr 21 01:52:16
UTC 2019 Sun Apr 21 01:52:20 UTC 2019 Sun Apr 21 01:52:28 UTC 2019
Sun Apr 21 01:52:42 UTC 2019 Sun Apr 21 01:53:08 UTC 2019 Sun Apr 21
01:54:01 UTC 2019 Sun Apr 21 01:55:02 UTC 2019

观察上面重启并打印时间的结果,时间间隔越来越长。这种策略叫回退策略。指数回退策略将会发费在前一次等待连续尝试的时间加倍。例如第一次重启花费2s,接下来花费4s,接下来8s一直递增下去。

关闭自动重启

docker update dockername --restart no

开启一个已经创建好的容器自动启动

docker update dockername --restart always 

停止一个自动重启的容器

docker stop dockername

但是在这种策略中有一个问题,在它处于重启状态的时候,容器没有运行,在容器内启动另一个线程会发生错误。所以我们可以使用init或supervisor来维持容器运行状态。

上一篇:Docker入门(7)| 安装ActiveMQ
下一篇:请实现一个函数,将一个字符串中的每个空格替换"20"。

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月25日 23时29分02秒