Можно ли использовать переменные среды внутри файла конфигурации демона докеров

задний план:

Мы используем registry_mirrors & insecure_registries варианты в docker daemon.jsonфайл. Мы хотели бы прекратить указывать местоположениеmirrors жестко запрограммированный.

Вопрос

Можно ли использовать env variable внутри daemon.json? Поэтому вместо того, чтобы писатьip X.Y.Z.W:PORT можно было бы написать ${REPO1}. Надеюсь, можно будет изменитьREPO1 var без перезапуска daemon

Замечания

Решение должно позволять изменять repoместоположение без перезапуска демона

РЕДАКТИРОВАТЬ

невозможно использовать следующий код внутри daemon.json 1. ${VAR_NAME}

Возможный обходной путь

Используйте собственное имя хоста и переопределите его в /etc/hosts. Это позволяет менять репоipбез перезапуска демона. Но это не позволяет изменитьport или protocol

Возможное решение 2

Некоторые параметры можно перенастроить во время работы демона без необходимости перезапуска процесса. Мы используем сигнал SIGHUP в Linux для перезагрузки и глобальное событие в Windows с ключом Global\docker-daemon-config-$PID. Параметры можно изменить в файле конфигурации, но все равно будут проверяться конфликты с предоставленными флагами. Демон не может перенастроить себя, если есть конфликты, но он не остановит источник выполнения

Так что можно отредактировать registry и делать sudo systemctl reload docker или sudo kill -SIGHUP $(pidof dockerd). При этом не перезапускаются ни существующие контейнеры, ни сам демон.

0 ответов

Другие вопросы по тегам