前言:

在默认情况下,当 Docker 守护进程终止时,它将关闭正在运行的容器。不过,我们可以配置该守护进程,以便在该守护进程不可用时容器仍在运行。这种功能称为实时恢复。实时还原选项有助于减少由于守护进程崩溃、计划中断或升级而导致的容器停机时间。

Docker官方相关详细文档:https://docs.docker.com/config/containers/live-restore/

具体方法:

1.将配置添加到守护进程配置文件中。在 Linux 上,默认的配置文件为/etc/docker/daemon.json

vim /etc/docker/daemon.json
{"live-restore": true
}

2.Docker reload配置(不会重启docker)

给dockerd发送 SIGHUP信号,dockerd收到信号后会reload配置

systemctl reload docker  / kill -SIGHUP $(pidof dockerd)

3.检查上面的配置是否成功

docker info | grep -i live

4.重启Docker,此时重启Docker时就容器就不会停止了

systemctl restart docker

实例:

1.查看当前Docker容器运行状态

[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                                      COMMAND                  CREATED             STATUS             PORTS                                       NAMES
b1364c71a6b5   lizhenliang/tomcat:latest                  "catalina.sh run"        About an hour ago   Up About an hour   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   java
434bcfed5c5d   registry.aliyuncs.com/helowin/oracle_11g   "/bin/sh -c '/home/o…"   10 months ago       Up 29 minutes      0.0.0.0:1521->1521/tcp, :::1521->1521/tcp   oracle_11g#可以看到上面两个容器的运行时间分别为1小时、29分钟

2.添加"live-restore": true配置

[root@localhost ~]# vi /etc/docker/daemon.json
{"registry-mirrors": ["https://hx983jf6.mirror.aliyuncs.com"],
"graph": "/mnt/data",
"live-restore": true
}

3.更新docker配置(不会重启docker,只是更新配置)

[root@localhost ~]# systemctl reload docker 或者发送信号 kill -SIGHUP $(pidof dockerd)

4.查看上面的 "live-restore": true配置是否成功

[root@localhost ~]# docker info | grep -i liveLive Restore Enabled: true

5.重启Docker,验证容器是否会停止

[root@localhost ~]# systemctl restart docker     #重启docker[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                                      COMMAND                  CREATED             STATUS             PORTS                                       NAMES
b1364c71a6b5   lizhenliang/tomcat:latest                  "catalina.sh run"        About an hour ago   Up About an hour   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   java
434bcfed5c5d   registry.aliyuncs.com/helowin/oracle_11g   "/bin/sh -c '/home/o…"   10 months ago       Up 32 minutes      0.0.0.0:1521->1521/tcp, :::1521->1521/tcp   oracle_11g

可以看到在我们重启完Docker后,上面在运行的两个容器的运行时间分别为1小时、32分钟,容器并没有在我们重启Docker时停止,而是一直保持运行状态
。以后不用再担心处理问题时必须重启 dockerd 时会影响现有业务了,如升级 docker 版本、dockerd 内存泄漏等!

【个人公众号】

【非著名运维】 --》 公众号回复 “资料” 送运维自学资料大礼包哦!上面也会分享一些运维知识,大家点点发财手关注一波,感谢大家。

在Docker守护进程停机期间保持容器运行(即重启Docker时,正在运行的容器不会停止)相关推荐

  1. docker 守护进程

    学习目的 如何判断守护进程没有开启 启动和暂停以及重启 设计开机自启 守护进程未开启时 docker help, docker -v 指令会正常输出结果 docker images, docker p ...

  2. 【Docker学习总结】12.Docker守护进程的配置和操作

    上一篇总结了Docker的CS模式的具体概念,本篇来学习Docker守护进程的配置和操作. 在上一篇的演示中,我们使用了Linux的ps命令查看了Docker守护进程的运行状态.那么,除了ps命令,我 ...

  3. docker守护进程启动容器时报错Error response from daemon: Container is not running

    首先说明我的docker版本是19.03.5 一开始守护进程是这样创建的(以mysql为例): docker run -di --name-mydocker2 mysql:5.7.13 创建完成后正常 ...

  4. Docker:重启 docker 守护进程,容器不重启配置

    文章目录 生产环境 dockerd 内存泄漏?想重启 dockerd 又怕重启容器,影响到线上业务? 别怕!用 docker live-restore, 在重启 dockerd 时,不会重启容器. 配 ...

  5. 无法停止删除容器,Mac重启Docker

    问题: 不能停止.杀死.删除容器,使用以下命令得到错误消息: docker stop <container-id> Error response from daemon: cannot s ...

  6. Docker修改daemon.json配置,不需要重启docker或daemon-reload

    dockerd reload 配置(不会重启 dockerd,直接修改配置) kill -SIGHUP $(pidof dockerd) # 给 dockerd 发送 SIGHUP 信号,docker ...

  7. 【docker系列】容器自启动与守护进程停止后容器保活

    本文为大家介绍容器自启动以及docker 守护进程挂掉或者docker升级的情况下,如何保证容器服务的正常运行.主要包含三个部分内容 文章目录 一.守护进程开机自启 二.容器自启动 重启策略说明 三. ...

  8. Docker学习笔记(一)-容器、镜像和客户端与守护进程

    0x00 前言 一直使用过docker,但并不是太了解,于是开始学习了解一下 0x01 docker简介 1.什么是容器? 一种虚拟化的方案 操作系统级别的虚拟化 只能运行相同或相似内核的操作系统 依 ...

  9. windows守护进程_在Linux的Windows子系统上(WSL)使用Docker(Ubuntu)

    平时开发大部人都是在提供了高效GUI的window下工作,但是真正部署环境普遍都是在Linux中,所以为了让开发环境和部署环境统一,我们需要在windows模拟LInux环境,以前我们可能通过虚拟机的 ...

最新文章

  1. PHP开发移动端接口(增强版)
  2. Servlet优化之BaseServlet
  3. xs资料网-冲压模图档下载_伺服冲床能做的精密冲压件都有哪些?!
  4. linux网站爬取,Kali下httrack 爬取网站页面
  5. HDFS无法对大量小文件进行存储
  6. windows。forms.timer设置第一次不等待_面试官:换人!他连 TCP 这几个参数都不懂(一)...
  7. CB Loss:基于有效样本的类别不平衡损失
  8. onenote使用python开发_如何充分利用 OneNote,发挥它的全部价值和潜力?
  9. Jabber Frame(超时传输帧)
  10. 各行业的龙头股 (整理)
  11. 怎么在计算机网络上添加文件,教你win7如何设置网络共享文件夹
  12. Jenkins插件配置国内镜像
  13. 制作一个电影分享网站的微信公众号
  14. 张一鸣:积极乐观的心理期待,对成功有害!
  15. 计算机考研abc区划分,考研abc区有什么区别
  16. Linux复制一个或多个文件到另一个目录下
  17. 如何实现rsync远程同步和inotify实时同步
  18. 微信公众号 修改 应用签名 不生效
  19. 《那些年 在美国》读书笔记-2
  20. mysql 谓语提前,英语倒装句全倒装时什么时候要把did提前?这个老搞不清楚

热门文章

  1. Dynamic-OFA: Runtime DNN Architecture Switching for Performance Scaling on Heterogeneous Embedd Pla
  2. 分析无线鼠标无反应的几点原因
  3. etcd defrag bug [3.1.4] 之前通病
  4. python基础--面向对象(一)
  5. 克鲁斯卡尔算法学习(Java)
  6. 荣耀首战,实力几何?
  7. Pokemon with stats(口袋妖怪统计数据集)
  8. 前端面试总结(2)--从输入URL到页面加载完成,都发生了什么
  9. 计算机无法存储文件,电脑不能保存文件
  10. JS中的arguements对象