概要¶
このページに含む情報:
Docker Desktop で問題発生時、診断とトラブルシュートの仕方
ログの確認
共通する問題の回避策を見つける
診断¶
アプリから診断¶
診断情報の収集が終われば、 Upload to get a Diagnostic ID をクリックします。
診断情報のアップロードが完了すると、 Docker Desktop は Diagnostic ID(診断 ID)を表示します。この ID をコピーします。
有償 Docker サブスクリプションを持っている場合は、 Contact Support をクリック。これは Docker Desktop サポート フォームを開きます。必要な情報を入力し、Diagnostics ID フィールドには先ほどコピーした ID を入れます。
Docker Desktop のサポートをリクエストするには Submit をクリックします。
注釈
サポートフォームにアクセスするには、Docker Desktop に Pro、Team、Business いずれかの認証賞情報でサインインしている必要があります。Docker Desktop サポートで扱う情報については、 サポート をご覧ください。
有償 Docker サブスクリプションが無い場合、既存のアカウントをアップグレードするために Upgrade to benefit from Docker Support がクリックできます。あるいは、 Report a Bug をクリックし、GitHub に新しい Docker Desktop の issue を開きます。必要情報を入力し、先ほどコピーした診断 ID を追加します。
submit new issue をクリックすると新しい issue を作成します。
ターミナルから診断¶
Docker Desktop が起動できない状況など、場合によっては自分での診断実行が役立つ場合もあります。
まず、 com.docker.diagnose
ツールを探します。通常の場所は以下の通りです:
Windows
$ C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe
Mac
$ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose
Linux
$ /opt/docker-desktop/bin/com.docker.diagnose
診断の作成とアップロードをするには、次のコマンドを実行します:
$ <tool location> gather -upload
診断が終了したら、ターミナルには診断 ID を含む出力があります。診断 ID にはユーザ ID とタイムスタンプも組み込まれています。ユーザ ID だけでなく、診断 ID 全体が必要になります。
診断ファイルの内容を表示するには、次のように実行します:
Mac
$ open /tmp/BE9AFAAF-F68B-41D0-9D12-84760E6B8740/20190905152051.zip
Linux
$ unzip –l /tmp/BE9AFAAF-F68B-41D0-9D12-84760E6B8740/20190905152051.zip
有償 Docker サブスクリプションを持っている場合は、 Docker Desktop サポート フォームを開きます。必要な情報を入力し、Diagnostics ID フィールドには先ほどコピーした ID を入れます。Docker Desktop サポートをリクエストするには Submit をクリックします。
自己診断ツール ¶
Docker Desktop には、共通する問題を確認するのに役立つ自己診断ツールが入っています。
まず、 com.docker.diagnose
ツールを探します。通常の場所は以下の通りです:
Windows
$ C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe
Mac
$ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose
Linux
$ /opt/docker-desktop/bin/com.docker.diagnose
自己診断ツールを実行するには、次のように実行します。
$ <tool location> check
ツールはチェックの一式を実行し、それぞれのチェックごとに PASS か FAIL を表示します。何らかのエラーがあれば、レポートの最後で最も関連する情報をハイライトで表示します。
それから、 GitHub で issue を作成できます。
ログの確認¶
診断とフィードバックオプションによるログ送信だけでなく、自分自身でログを確認できます。
Mac の場合¶
ターミナル上で¶
コマンドライン上で Docker Desktop ログのライブフロー(live flow)を表示するには、任意のシェルで以下のスクリプトを実行します。
$ pred='process matches ".*(ocker|vpnkit).*" || (process in {"taskgated-helper", "launchservicesd", "kernel"} && eventMessage contains[c] "docker")'
$ /usr/bin/log stream --style syslog --level=debug --color=always --predicate "$pred"
あるいは、直近1日のログ( 1d
) をファイルに集めるには、次の様に実行します。
$ /usr/bin/log show --debug --info --style syslog --last 1d --predicate "$pred" >/tmp/logs.txt
アプリケーション上で¶
Mac には "Console" という内蔵ログビュアーがあります。これを使って Docker のログを確認できます。
Console は /Applications/Utilities
にあります。これはスポットライト検索で見つけられます。
Docker アプリのログ・メッセージを読むには、 Console ウインドウの検索バーで docker
と入力し、エンターを押します。それから ANY を選択肢、ドロップダウンリストを展開し、その横にある docker
と検索語を入力し、 Press を押します。
Console ログクエリを使ってログを検索でき、様々な方法で結果をフィルだしたり、レポートを作成したりできます。
Lnux の場合¶
以下のコマンドを実行し、 Docker Desktop のログにアクセスできます。
$ journalctl --user --unit=docker-desktop
また、 Docker Desktop に含まれる内部コンポーネントに関するログは、 $HOME/.docker/desktop/log/
にあります。
Docker デーモンのログを表示¶
Docker デーモンのログを表示する方法を知るには、 ログを読む をご覧ください。
次はどこへ?¶
トラブルシュートのトピック を表示
共通する問題の回避策 を準備
Mac ユーザの場合、 Mac 版の既に分かっている問題 を参照