Docker 19+
Config file is now available in ~/.docker/daemon.json
(see Ed's Answer)
Docker EE/CE 17+
Docker for Mac/Windows has added a config editor to the tray icon UI to allow editing of Dockers daemon.json
file that will be persisted in the VM.
To access it go to the Docker Icon > Preferences > Daemon > Advanced
Original Answer
The Docker for Mac VM is based on Alpine Linux. The init system is based on OpenRC.
You can attach a screen session to the VM's tty (terminal) and poke around
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
The docker daemon config is in the usual spot
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
The /etc/init.d/docker
script that manages the startup does not seem very configurable, apart from editing the script.
/host_docker_app
in the VM is a mount of the data in ~/Library/Containers/com.docker.docker/Data/
from OSX. This seems like the most likely place to persist custom config but it doesn't look like there is any interface to source/load config or anything at startup from there.
It looks like changes outside of /var
or /host_docker_app
will not persist over reboots. There was a mechanism to persist some startup config in the old boot2docker VM image but I haven't found anything like it for the new VM.
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
. I haven't found any config outside of it yet... – Chronogram