web-dev-qa-db-fra.com

Chemin de configuration du démon Docker sous Mac OS

J'utilise docker dans la version 1.12.0 (build 10871) sur Mac OS (El Capitan 10.11.4) et je souhaite fournir un fichier de configuration pour le démon docker.

Sous Ubuntu, vous placez la configuration sous /etc/default/docker (voir docs ). Malheureusement, je ne peux pas savoir où placer la configuration dans Mac OS

Des idées?

11
Erik

Docker EE/CE 17+

Docker pour Mac/Windows a ajouté un éditeur de configuration à l'interface utilisateur de l'icône de la barre des tâches pour permettre la modification du fichier Dockers daemon.json qui sera conservé dans la VM. 

Pour y accéder, allez à l'icône Docker> Préférences> Démon> Avancé

Réponse originale

Le Docker pour Mac VM est basé sur Alpine Linux . Le système init est basé sur OpenRC .

Vous pouvez associer une session d’écran au terminal de la machine virtuelle et fouiller

$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.AMD64-linux/tty

La configuration du démon docker est à l’emplacement habituel

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

Le script /etc/init.d/docker qui gère le démarrage ne semble pas très configurable, à part la modification du script.

/Host_docker_app dans VM est un montage des données dans ~/Library/Containers/com.docker.docker/Data/ à partir de OSX. Cela semble être l’endroit le plus susceptible de conserver la configuration personnalisée, mais il ne semble y avoir aucune interface vers la configuration source/charge ou quoi que ce soit au démarrage à partir de là. 

Il semble que les modifications en dehors de /var ou /Host_docker_app ne persisteront pas après les redémarrages. Il existait un mécanisme permettant de conserver une configuration de démarrage dans l'ancienne image boot2docker VM, mais je n'ai rien trouvé de tel pour la nouvelle machine virtuelle.

21
Matt

J'utilise Docker pour Mac 1.13.0 sur MacOS 10.12 et les paramètres du démon sont accessibles via l'application Docker (Préférences -> Démon -> Avancé).

Mais si vous changez cela en quelque chose de mal, vous rendrez votre installation inutilisable (le démon ne démarrera plus). Cela m'est arrivé.

J'ai découvert que les paramètres sont stockés dans un référentiel Git dans ~/Library/Containers/com.docker.docker/Data/database où je devais émettre un git reset --hard HEAD avant de pouvoir changer quoi que ce soit . Après cela, les paramètres du démon sont disponibles dans ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.AMD64-linux/etc/docker/daemon.json.

Éditez, validez et redémarrez l'application Docker… et voilà… le démon redémarre.

4
Tilo Prütz

Mon docker versin est comme suit: 

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

Sur mon OSX 10.13.2, le chemin de daemon.json est /var/config/docker/daemon.json dans la machine virtuelle. Vous pouvez utiliser cette commande pour attacher une session d'écran au terminal de VM:

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.AMD64-linux/tty

Dans la VM, vous pouvez grep dockerd processus pour obtenir le chemin du fichier de configuration:

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
0
lutaoact