1
2

More than 5 years have passed since last update.

Docker for Mac: dockerd のデバッグログの見方

Last updated at Posted at 2017-05-31

Docker for Mac での dockerd のログの見方についてのメモです。Docker for Mac の 17.03.1-ce-mac12 で確認しています。公式に載っている方法ではないので今後使えなくなる可能性があります。自分はDocker レジストリとの間で問題があった際のトラブルシュートに使いました。

ログレベルの設定

Dockerのアイコン -> Preferences -> Daemon -> Advanced で JSON 形式で設定を記述します。デバッグログの出力は下記のように debugtrue に設定し Restart するだけです。

{
  "debug" : true
}

ログレベルをdebug以外に設定したい場合は個別にlog-levelという値で設定します。その他の詳細な設定は公式ドキュメントの Daemon CLI reference (dockerd) をご覧ください。

ログを見る

ログを見るには Docker for Mac の VM に入る必要があります。sshd が立ち上がっていないので、下記のように docker 経由で特権と nsenter を使ってホストにアクセスするのが簡単です。

$ docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh

上記でホストのネームスペースのシェルにアクセスできます。dockerdのログは /var/log/docker.log に出力されています。

$ tail -f /var/log/docker.log
...
May 30 12:03:13 moby root: time="2017-05-30T12:03:13.597589319Z" level=debug msg="form data: {\"password\":\"*****\",\"serveraddress\":\"quay.io\",\"username\":\"tksm\"}"
May 30 12:03:13 moby root: time="2017-05-30T12:03:13.618582619Z" level=debug msg="hostDir: /etc/docker/certs.d/quay.io"
May 30 12:03:13 moby root: time="2017-05-30T12:03:13.621788419Z" level=debug msg="hostDir: /etc/docker/certs.d/quay.io"
May 30 12:03:13 moby root: time="2017-05-30T12:03:13.621826919Z" level=debug msg="attempting v2 login to registry endpoint https://quay.io/v2/"
May 30 12:03:15 moby root: time="2017-05-30T12:03:15.557921119Z" level=debug msg="Increasing token expiration to: 60 seconds"

補足: docker を使わない方法

dockerd 自体に問題がある場合、上記の方法でアクセスできないと場合もあると思われます。tty を screen でアタッチする方法でも VM のシェルにアクセスすることができます。screen のデフォルトでは ctrl+a -> d でデタッチできます。

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2