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?
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é
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.
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.
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