Docker Desktop ダッシュボード

Docker Desktop のダッシュボードは、コンテナやアプリケーションの操作や、マシン上のアプリケーションのライフサイクルを直接管理するための、シンプルなインターフェースを提供します。ダッシュボードのユーザ・インターフェースで、実行中や停止中の前コンテナの稼働状態や、実行中であればその状態を表示します。直感的なインターフェースを通して、コンテナを含む Docker オブジェクトと Docker Compose ベースのアプリケーションに対し、調査、アクション、管理するために共通する処理を行います。

Docker Desktop ダッシュボードは、以下の利点を提供します。

  • GUI は CLI がもたらすコアな情報を抽象化します
  • コンテナの挙動を検索・調査をするために、UI を通してコンテナのログに直接アクセスします
  • Compose アプリケーションを理解するために、 UI を通して連結された Compose ログにアクセスします
  • コンテナによって使用しているポートを、素早く見えるようにします
  • コンテナのリソース使用状況を監視します

加えて、ダッシュボード UI を使って、以下のことを可能にします。

  • Settings(設定) のメニューから、Docker Desktop 設定を変更します
  • Troubleshoot(トラブルシュート) のメニューから、デバッグや再起動処理を行います
  • Docker Hub に自分の Docker ID でサインインします

Docker Desktop のダッシュボードにアクセスするには、Docker メニューから Dashboard (ダッシュボード)を選択します。ダッシュボードは、全てのコンテナとアプリケーションの一覧を提供します。

コンテナとアプリケーションの探索

Docker メニューから、 Dashboard を選択します。ここでは実行中のコンテナとアプリケーションの全リストを表示します。Docker Desktop ・ダッシュボード上に表示されているのは、実行中のコンテナとアプリケーションのみなので御注意ください。

以下のセクションでは、サンプルの Redis コンテナとサンプルアプリケーションを作成するプロセスを通して紹介します。ここでは Docker Desktop ダッシュボードの主要な機能を扱います。

Redis コンテナの開始

Redis コンテナを開始するには、任意の CLI を開き、以下のコマンドを実行します。

docker run -dt redis

これは、新しい Redis コンテナを作成します。Docker メニューから Dashboard を選択し、新しい Redis コンテナを表示します。

サンプルアプリケーションの開始

それでは、サンプル・アプリケーションを実行しましょう。Docker サンプル・ページから サンプル投票アプリ をダウンロードできます。サンプル投票アプリは、複数の Docker コンテナを横断する分散アプリケーションです。

サンプル投票アプリケーションの含むもの:

  • PythonASP.NET Core によるフロントエンド・ウェブ・アプリケーションを通して、2つの選択肢から投票できます
  • Redis 又は NATS キューは、新しい投票を集めます
  • .NET CoreJava.NET Core 2.1 ワーカーは、投票を取り込み保存します
  • Docker ボリューム上の、 PostgresTiDB データベース
  • Node.jsASP.NET Core SignalR ウェブアプリは、投票結果をリアルタイムで表示します。

アプリケーションを開始するには、CLI でサンプル投票アプリケーションを含むディレクトリに移動し、 docker-compose up --build を実行します。

$ docker-compose up --build
Creating network "example-voting-app-master_front-tier" with the default driver
Creating network "example-voting-app-master_back-tier" with the default driver
Creating volume "example-voting-app-master_db-data" with default driver
Building vote
Step 1/7 : FROM python:2.7-alpine
2.7-alpine: Pulling from library/python
Digest: sha256:d2cc8451e799d4a75819661329ea6e0d3e13b3dadd56420e25fcb8601ff6ba49
Status: Downloaded newer image for python:2.7-alpine
 ---> 1bf48bb21060
Step 2/7 : WORKDIR /app
 ---> Running in 7a6a0c9d8b61
Removing intermediate container 7a6a0c9d8b61
 ---> b1242f3c6d0c
Step 3/7 : ADD requirements.txt /app/requirements.txt
 ---> 0f5d69b65243
Step 4/7 : RUN pip install -r requirements.txt
 ---> Running in 92788dc9d682

...
Successfully built 69da1319c6ce
Successfully tagged example-voting-app-master_worker:latest
Creating example-voting-app-master_vote_1   ... done
Creating example-voting-app-master_result_1 ... done
Creating db                                 ... done
Creating redis                              ... done
Creating example-voting-app-master_worker_1 ... done
Attaching to db, redis, example-voting-app-master_result_1, example-voting-app-master_vote_1, example-voting-app-master_worker_1
...

アプリケーションの実行に成功したら、 Docker メニューから Dashboard を選択し、サンプル投票アプリケーションを見ましょう。アプリケーションを展開し、アプリケーション内で実行中のコンテナを見ます。

これで、ダッシュボード上で実行中のコンテナとアプリケーションの一覧が見られます。それでは、何ができるか見ていきましょう。

  • Port をクリックし、コンテナによって公開されているポートをブラウザで開きます
  • CLI をクリックし、コンテナ上にターミナルを開き、コマンドを実行します
  • StopStartRestartDelete をクリックし、コンテナのライフサイクルを処理します

Search オプションを使い、特定のオブジェクトを検索します。また、様々なオプションでコンテナやアプリケーションを並び替えできます。 Sort by ドロップ・ダウンで、利用可能なオプションの一覧を表示します。

コンテナやアプリケーションの操作

Docker Desktop ・ダッシュボードから、先ほど起動したサンプル投票アプリケーションを選択します。

application view 一覧から、実行している全アプリケーションのコンテナ一覧と、詳細なログ表示を行います。また、アプリケーションの起動、停止、削除も行えます。

コンテナ名の上にマウスを移動すると、主要な操作可能な機能を表示します。特定のイベントに対するアプリケーションのログを検索するには、下の方にある Search オプションを使います。あるいは、クリップボードにログをコピーするには Copy を選択します。

特定のコンテナに対する詳細情報を指定するには、クリックします。 container view には LogsInspectStats タブが表示され、ボタンのクリックで様々なアクションを処理できます。

  • Logs を選択し、コンテナからのログを表示します。また、任意のイベントをログから検索したり、クリップボードにログをコピーしたりできます。
  • Inspect を選択し、コンテナに対するローレベルな情報を表示します。また、ローカルのパスや、イメージのバージョン番号、 SHA-256 、ポート割り当て(マッピング)、その他詳細を確認できます。
  • Stats をクリックし、コンテナのリソース使用率に関する情報を表示します。コンテナによって、たくさんの CPU 、ディスクI/O 、メモリ、ネットワーク I/O が使われているのが見えます。

また、トップバー上にある quick action(クイック・アクション)ボタンを使っても、CLI を開いてコンテナ内でコマンドを実行するような共通操作を行えます。また、コンテナに対する停止、起動、再起動、削除のようなライフサイクルの操作も行えます。

Port をクリックし、コンテナが公開(露出)しているポートをブラウザで開きます。

フィードバック

新しいダッシュボードのユーザーインターフェースについて、皆さんから伺いたいです。あなたのフィードバックをお知らせいただくには、docker/for-macdocker/for-win GitHub リポジトリで issue を作成ください。

参考

Docker Desktop Dashboard
https://docs.docker.com/desktop/dashboard