在mac os下的Docker deamon配置路径

时间:2016-08-05 09:34:23

标签: macos docker config daemon

我在Mac OS(El Capitan 10.11.4)上使用版本1.12.0(版本10871)中的docker,我想为docker守护程序提供配置文件。

在Ubuntu下,您可以将配置放在/etc/default/docker下(参见docs)。不幸的是,我无法弄清楚在Mac OS中将配置放在哪里

有什么想法吗?

4 个答案:

答案 0 :(得分:22)

Docker EE / CE 17 +

Docker for Mac / Windows已将配置编辑器添加到托盘图标UI,以允许编辑将保留在VM中的Dockers daemon.json文件。

要访问它,请转到 Docker图标>偏好>守护进程>先进

原始答案

Docker for Mac VM基于Alpine Linuxinit 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脚本似乎不太可配置。

VM中的

/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