在mac os下的Docker deamonconfigurationpath

我在Mac OS(El Capitan 10.11.4)的Version 1.12.0(build 10871)中使用docker,我想为docker守护进程提供一个configuration文件。

在Ubuntu下,将configuration置于/etc/default/docker (请参阅文档 )。 不幸的是,我无法弄清楚在Mac OS中放置configuration的位置

有任何想法吗?

Docker EE / CE 17+

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

要访问它,请转到Docker图标 >首选项>守护进程>高级

原始答复

Docker for Mac VM基于Alpine Linux 。 init系统基于OpenRC 。

你可以将一个屏幕会话附加到虚拟机的tty(terminal)上,

 $ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty 

docker守护进程configuration在通常的位置

 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 

除编辑脚本外,pipe理启动的/etc/init.d/docker脚本似乎不可configuration。

VM中的/host_docker_app是在OSX的~/Library/Containers/com.docker.docker/Data/中的数据的装载。 这似乎是最有可能坚持自定义configuration的地方,但它看起来没有任何接口来源/加载configuration或任何启动从那里。

它看起来像/var/host_docker_app之外的更改将不会持续重新启动。 有一种机制可以在旧的boot2docker虚拟机映像中保留一些启动configuration,但是对于新的虚拟机我还没有find类似的东西。

我在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应用程序… etvoilà…守护进程再次启动。