相信使用过Docker+Kubernetes环境的小伙伴们都知道,当重启docker服务时,Kubernetes集群中的pod也会随之重启。如果是生产环境可怎么办?尽管k8s有高可用,但是会影响调度平衡,以及服务器性能不均衡等不可控因素。最近我一直在想有没有一种方法,可以在不重启docker服务的情况下,加载配置文件。

docker官方是提供了这样的参数的。

https://docs.docker.com/config/containers/live-restore/

在日常的docker应用中,也不会去频繁的重启服务,一旦遇到重启的时候就很难受,比如添加私库地址,阿里云加速,网络代理等等

以下说一下具体的操作方法

编辑文件/etc/docker/daemon.json或者/$home/.docker/config.json

这两个文件是一样会在加载配置文件时加载到服务中的

{
  "live-restore": true
}

如果原本文件中已经存在内容,则如下添加

需要在上面一条加英文逗号,这也是我踩过的坑,以前不知道,一直重启失败

{
  "insecure-registry": ["192.168.1.11:5000"],
  "live-restore": true
}

添加完成后加载一遍配置文件重启服务即可

systemctl daemon-reload && systemctl restart docker

修改完配置文件重启时,已经是只加载配置文件,而不重启pod了。

评论




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0