фон:
Мы используем registry_mirrors
& insecure_registries
опции в docker
daemon.json
файле. Мы бы хотели остановить установить местоположение mirrors
в жестком коде .
Вопрос
Можно ли использовать env variable
внутри daemon.json
? Поэтому вместо записи ip
X.Y.Z.W:PORT
можно написать ${REPO1}
. Надеемся, что можно будет изменить REPO1
var без перезапуска daemon
Замечания
Решение должно позволить изменить repo
местоположение без перезапуска демон
РЕДАКТИРОВАТЬ
внутри демона невозможно использовать следующее. json 1. $ {VAR_NAME}
Возможный обходной путь
Использовать пользовательский имя хоста и переопределите его в /etc/hosts
. Это позволяет изменить репо ip
без перезапуска демона. Но не позволяет изменить port
или protocol
Возможный обходной путь 2
Некоторые параметры могут быть перенастроены во время работы демона без необходимости перезапуска процесса. Мы используем сигнал SIGHUP в Linux для перезагрузки и глобальное событие в Windows с ключом Global \ docker -daemon-config- $ PID. Параметры могут быть изменены в файле конфигурации, но все равно будут проверяться на наличие конфликтов с предоставленными флагами. Демон не может переконфигурировать себя, если есть конфликты, но он не остановит выполнение source
Таким образом, можно отредактировать registry
и выполнить sudo systemctl reload docker
или sudo kill -SIGHUP $(pidof dockerd)
. не перезапускает ни существующие контейнеры, ни сам демон