Подтвердить что ты не робот

Конфигурационный путь Docker deamon под mac os

Я использую docker в версии 1.12.0 (сборка 10871) в Mac OS (El Capitan 10.11.4), и я хочу предоставить файл конфигурации для демона докеров.

В Ubuntu вы поместите конфигурацию под /etc/default/docker (см. docs). К сожалению, я не могу понять, где разместить конфигурацию в Mac OS

Любые идеи?

4b9b3361

Ответ 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