Docker mac os 下的守护程序配置路径
Docker deamon config path under mac os
我在 Mac OS (El Capitan 10.11.4) 上使用版本 1.12.0(内部版本 10871)中的 docker,我想为docker 守护进程。
在 Ubuntu 下,您将配置放在 /etc/default/docker
下(参见 docs)。不幸的是,我不知道将配置放在 Mac OS
中的什么位置
有什么想法吗?
Docker 19+
现在可以在 ~/.docker/daemon.json
中使用配置文件(参见 )
Docker EE/CE 17+
Docker for Mac/Windows 已将配置编辑器添加到托盘图标 UI 以允许编辑 Dockers daemon.json
将被保留的文件在虚拟机中。
要访问它,请转到 Docker 图标 > 首选项 > 守护程序 > 高级
原答案
Mac VM 的 Docker 基于 Alpine Linux. The init system is based on 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/
中数据的挂载。这似乎是最有可能保留自定义配置的地方,但看起来没有 source/load 配置的任何接口或从那里启动的任何东西。
看起来 /var
或 /host_docker_app
之外的更改不会在重新启动后持续存在。有一种机制可以在旧的 boot2docker VM 映像中保留一些启动配置,但我还没有为新的 VM 找到类似的东西。
我在 MacOS 10.12 上为 Mac 1.13.0 使用 Docker 并且可以通过 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 应用程序……等等……守护进程再次启动。
我的docker版本如下:
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 的 tty:
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
在虚拟机中,可以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
在 Mac 的 Docker 桌面的最新版本中,文件位于 ~/.docker.
~/.docker/daemon.json
可以将自定义(即自签名)证书复制到
~/.docker/certs.d/{MyRegistry:port}/client.crt
我在 Mac OS (El Capitan 10.11.4) 上使用版本 1.12.0(内部版本 10871)中的 docker,我想为docker 守护进程。
在 Ubuntu 下,您将配置放在 /etc/default/docker
下(参见 docs)。不幸的是,我不知道将配置放在 Mac OS
有什么想法吗?
Docker 19+
现在可以在 ~/.docker/daemon.json
中使用配置文件(参见
Docker EE/CE 17+
Docker for Mac/Windows 已将配置编辑器添加到托盘图标 UI 以允许编辑 Dockers daemon.json
将被保留的文件在虚拟机中。
要访问它,请转到 Docker 图标 > 首选项 > 守护程序 > 高级
原答案
Mac VM 的 Docker 基于 Alpine Linux. The init system is based on 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/
中数据的挂载。这似乎是最有可能保留自定义配置的地方,但看起来没有 source/load 配置的任何接口或从那里启动的任何东西。
看起来 /var
或 /host_docker_app
之外的更改不会在重新启动后持续存在。有一种机制可以在旧的 boot2docker VM 映像中保留一些启动配置,但我还没有为新的 VM 找到类似的东西。
我在 MacOS 10.12 上为 Mac 1.13.0 使用 Docker 并且可以通过 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 应用程序……等等……守护进程再次启动。
我的docker版本如下:
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 的 tty:
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
在虚拟机中,可以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
在 Mac 的 Docker 桌面的最新版本中,文件位于 ~/.docker.
~/.docker/daemon.json
可以将自定义(即自签名)证书复制到
~/.docker/certs.d/{MyRegistry:port}/client.crt