Jq修改docker-daemon.json开启关闭live-restore:修订间差异
来自三线的随记
小无编辑摘要 |
小无编辑摘要 |
||
第15行: | 第15行: | ||
<br /> | <br /> | ||
=== Other matters | ===Other matters requiring attention=== | ||
对于挂载了/var/run/docker.sock的容器,需要手动重启 (挂载的是目录的话不会有这个问题) | 对于挂载了/var/run/docker.sock的容器,需要手动重启 (挂载的是目录的话不会有这个问题) | ||
第22行: | 第22行: | ||
当docker-engine热重启,docker.sock文件的inode值会改变,所以挂载会失效 | 当docker-engine热重启,docker.sock文件的inode值会改变,所以挂载会失效 | ||
==== Workaround ==== | ====Workaround==== | ||
查看该主机上直接挂载 docker.sock 的容器 | 查看该主机上直接挂载 docker.sock 的容器 | ||
docker inspect $(docker ps -q)|grep 'Source.*docker.sock\|Name": "/'|grep sock -B1|grep Name | docker inspect $(docker ps -q)|grep 'Source.*docker.sock\|Name": "/'|grep sock -B1|grep Name |
2020年12月13日 (日) 19:45的版本
use jq tool to enable or disable docker live-restore feature
enable
jq '. + {"live-restore": true}' /etc/docker/daemon.json systemctl reload docker docker info | grep -i live
disable
jq '. + {"live-restore": false}' /etc/docker/daemon.json kill -SIGHUP $(pidof dockerd) docker info | grep Live
Other matters requiring attention
对于挂载了/var/run/docker.sock的容器,需要手动重启 (挂载的是目录的话不会有这个问题)
docker挂载文件的机制是绑定主机上该文件的 inode。
当docker-engine热重启,docker.sock文件的inode值会改变,所以挂载会失效
Workaround
查看该主机上直接挂载 docker.sock 的容器
docker inspect $(docker ps -q)|grep 'Source.*docker.sock\|Name": "/'|grep sock -B1|grep Name
重启之
more examples
https://gist.github.com/joar/776b7d176196592ed5d8