Mac OS(El Capitan 10.11.4)のバージョン1.12.0(ビルド10871)でdockerを使用していますが、dockerデーモンの構成ファイルを提供したいと思います。
Ubuntuでは、/etc/default/docker
の下に構成を配置します( docs を参照)。残念ながら、Mac OSのどこに設定を配置するかわかりません
何か案は?
Mac/WindowsのDockerでは、VMに保持されるDockers daemon.json
ファイルを編集できるように、トレイアイコンUIに構成エディターが追加されました。
アクセスするには、Dockerアイコン> Preferences> Daemon> Advanced
Mac用のDocker 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
のVMはOSXからの~/Library/Containers/com.docker.docker/Data/
のデータのマウントです。これはカスタム設定を保持する最も可能性の高い場所のように見えますが、 source/load configまたはそこからの起動時に何かへのインターフェースがあります。
/var
または/Host_docker_app
以外の変更は再起動後も保持されないようです。古いboot2docker VM imageにいくつかのスタートアップ構成を保持するメカニズムがありましたが、新しいVMのようなものは見つかりませんでした。
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アプリを編集、コミット、および再起動します…そして、…デーモンが再び起動します。
Mac用Docker Desktopの最新バージョンでは、ファイルは〜/ .dockerにあります。
~/.docker/daemon.json
カスタム(自己署名)証明書をにコピーできます
~/.docker/certs.d/{MyRegistry:port}/client.crt
私のドッカーのバージョンは次のとおりです:
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のパスは/var/config/docker/daemon.json
VMで。次のコマンドを使用して、スクリーンセッションをVMのttyに接続できます。
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.AMD64-linux/tty
VMでは、dockerd
プロセスをgrepして、構成ファイルのパスを取得できます。
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