背景:
我们在文件中使用registry_mirrors&insecure_registries选项。docker daemon.json我们想停止设置mirrors 硬编码的位置。
问题
可以在env variable里面使用daemon.json吗?因此,与其写ip X.Y.Z.W:PORT一个 ,不如写一个${REPO1}。希望可以在REPO1不重新启动的情况下更改 vardaemon
评论
解决方案必须允许在不重新启动守护程序的情况下更改repo位置
编辑
无法在 daemon.json 1. ${VAR_NAME} 中使用以下内容
可能的解决方法
使用自定义主机名并在/etc/hosts. ip这允许在不重新启动守护程序的情况下更改 repo 。但它不允许改变port或protocol
可能的解决方法 2
有些选项可以在守护程序运行时重新配置,而无需重新启动进程。我们在 Linux 中使用 SIGHUP 信号来重新加载,在 Windows 中使用全局事件,键为 Global\docker-daemon-config-$PID。可以在配置文件中修改选项,但仍会检查与提供的标志的冲突。如果存在冲突,守护进程无法重新配置自身,但它不会停止执行源
因此可以编辑registryand do sudo systemctl reload dockeror sudo kill -SIGHUP $(pidof dockerd)。这不会重新启动现有容器或守护进程本身