我在Mac OS(El Capitan 10.11.4)上使用版本1.12.0(版本10871)中的docker,我想为docker守护程序提供配置文件。
在Ubuntu下,您可以将配置放在/etc/default/docker
下(参见docs)。不幸的是,我无法弄清楚在Mac OS中将配置放在哪里
有什么想法吗?
答案 0 :(得分:22)
Docker for Mac / Windows已将配置编辑器添加到托盘图标UI,以允许编辑将保留在VM中的Dockers daemon.json
文件。
要访问它,请转到 Docker图标>偏好>守护进程>先进
Docker for Mac VM基于Alpine Linux。 init system基于OpenRC。
您可以将屏幕会话附加到VM的tty(终端)并浏览
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
docker守护进程配置在通常的位置
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
脚本似乎不太可配置。
/host_docker_app
是来自OSX的~/Library/Containers/com.docker.docker/Data/
中的数据量。这似乎是最有可能保留自定义配置的地方,但它看起来没有任何接口来源/加载配置或从那里启动任何东西。
看起来/var
或/host_docker_app
之外的更改不会在重新启动后持续存在。有一种机制可以在旧的boot2docker VM映像中保留一些启动配置,但我没有为新VM找到类似的东西。
答案 1 :(得分:5)
我在MacOS 10.12上使用Docker for Mac 1.13.0,并且可以通过Docker应用程序访问守护程序设置(首选项 - >守护程序 - >高级)。
但如果将此更改为错误,则会使安装无法使用(守护程序将不再启动)。这发生在我身上。
我发现这些设置存储在~/Library/Containers/com.docker.docker/Data/database
的Git存储库中,我必须先发出git reset --hard HEAD
才能更改任何内容。
之后,守护程序设置在~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json
。
编辑,提交并重新启动Docker应用程序......等等......守护程序再次启动。
答案 2 :(得分:0)
我的码头工具如下:
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的路径在VM中为/var/config/docker/daemon.json
。您可以使用此命令将屏幕会话附加到VM&t; 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
答案 3 :(得分:0)
在Mac的最新版本的Docker Desktop上,文件位于〜/ .docker中。
~/.docker/daemon.json
可以将自定义(即自签名)证书复制到
~/.docker/certs.d/{MyRegistry:port}/client.crt