Конфигурационный путь Docker deamon под mac os
Я использую docker в версии 1.12.0 (сборка 10871) в Mac OS (El Capitan 10.11.4), и я хочу предоставить файл конфигурации для демона докеров.
В Ubuntu вы поместите конфигурацию под /etc/default/docker
(см. docs). К сожалению, я не могу понять, где разместить конфигурацию в Mac OS
Любые идеи?
Ответы
Ответ 1
Докер EE/CE 17 +
Docker для Mac/Windows добавила в редактор значков в панели задач конфигурационный редактор, позволяющий редактировать файл Dockers daemon.json
, который будет сохраняться в виртуальной машине.
Для доступа к нему перейдите к значку "Докер" > "Настройки" > "Демон" > "Дополнительно"
Оригинальный ответ
Docker for Mac VM основан на Alpine Linux. Система init основана на OpenRC.
Вы можете присоединить сеанс экрана к виртуальной машине tty (терминал) и выставить вокруг
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
Конфигурация демона докеров находится в обычном месте
moby:/etc/docker# ls -l /etc/docker/
total 8
-rw-r--r-- 1 root root 38 Aug 5 11:26 daemon.json
-rw------- 1 root root 244 Aug 5 11:26 key.json
/etc/init.d/docker
script, который управляет запуском, не кажется очень настраиваемым, кроме редактирования script.
/host_docker_app
в VM - это монтирование данных в ~/Library/Containers/com.docker.docker/Data/
из OSX. Это похоже на наиболее вероятное место для сохранения пользовательской конфигурации, но не похоже, что там есть какой-либо интерфейс для конфигурации источника/нагрузки или чего-то еще при запуске.
Похоже, что изменения вне /var
или /host_docker_app
не будут сохраняться при перезагрузках. Был существовавший механизм сохранения некоторой конфигурации запуска в старом образе VM загрузочного диска, но я не нашел ничего подобного для новой виртуальной машины.
Ответ 2
Я использую Docker для Mac 1.13.0 на MacOS 10.12, а параметры демона доступны через приложение Docker (Preferences → Daemon → Advanced).
Но если вы измените это на что-то неправильно, вы сделаете свою установку непригодной (демон больше не будет запускаться). Это случилось со мной.
Я узнал, что настройки хранятся в репозитории Git в ~/Library/Containers/com.docker.docker/Data/database
, где мне пришлось выпустить git reset --hard HEAD
, прежде чем я смог что-либо изменить.
После этого настройки демона доступны в ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json
.
Изменить, зафиксировать и перезапустить приложение Docker... et voilà... демон запускается снова.
Ответ 3
Моя докерная верность следующая:
Client:
Version: 17.12.0-ce
API version: 1.35
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:03:51 2017
OS/Arch: darwin/amd64
Server:
Engine:
Version: 17.12.0-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:12:29 2017
OS/Arch: linux/amd64
Experimental: true
В моем OSX 10.13.2 путь к daemon.json находится в /var/config/docker/daemon.json
в виртуальной машине. Вы можете использовать эту команду для присоединения сеанса экрана к VM tty:
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
В VM вы можете выполнить команду grep dockerd
для получения пути к файлу конфигурации:
ps aux | grep dockerd
/usr/local/bin/dockerd --config-file /var/config/docker/daemon.json --swarm-default-advertise-addr=eth0 --userland-proxy-path /usr/bin/vpnkit-expose-port --storage-driver overlay2
Ответ 4
В последних версиях Docker Desktop для Mac файлы находятся в ~/.docker.
~/.docker/daemon.json
Пользовательские (т.е. самоподписанные) сертификаты можно скопировать в
~/.docker/certs.d/{MyRegistry:port}/client.crt