Docker ダッシュボード

読む時間の目安: 4 分

Docker Desktop ダッシュボードは、コンテナー、アプリケーション、イメージに直接アクセスできるようなシンプルなインターフェースを提供します。 CLI を使って難しい操作を行う必要がなくなります。

Containers/Apps 画面では、コンテナーやアプリケーションの実行状態を表示します。 この画面においてはコンテナーやアプリケーションとのやりとりを行うことが可能であり、手元のマシンからアプリケーションのライフサイクルを直接制御することができます。 この画面では、コンテナーや Docker Compose ベースのアプリケーションに含まれる Docker オブジェクトに対して、主要な操作、つまり詳細確認、対話指示、管理を直感的なインターフェースにより提供します。 詳しくは 実行中コンテナーやアプリケーションの動作確認 を参照してください。

Images 画面には Docker イメージが一覧表示されます。 ここからイメージをコンテナーとして実行したり、Docker Hub からの最新版イメージのプル、イメージの詳細確認を行ったりすることができます。 また Snyk を利用したぜい弱性スキャン報告の概要が表示されます。 さらにイメージ削除の機能もあり、不要となったイメージをディスク上から削除して容量を確保することができます。 Docker Hub にログインできていれば、Docker Hub 上において自分や組織が共有しているイメージを参照することもできます。 詳しくは イメージの確認 を参照してください。

Volumes 画面にはボリュームの一覧が表示されるので、ボリュームの生成削除や、どれが利用中であるかの確認が簡単にできます。 詳しくは ボリュームの確認 を参照してください。

さらに Docker ダッシュボード では以下のことが可能です。

  • Preferences から(Windows では Settings)メニューから簡単に Docker Desktop の設定を行うことができます。
  • Troubleshoot メニューを使ってデバッグや再起動操作を行うことができます。
  • Docker ID を使って Docker Hub にサインインすることができます。

Docker ダッシュボードにアクセスするには、Docker メニューの Dashboard を実行します。 Windows においては Docker アイコンから Dashboard を開くことができます。

実行中コンテナーやアプリケーションの動作確認

Docker メニューから Dashboard を実行します。 起動している全コンテナーおよびアプリケーションが一覧表示されます。 なお Docker ダッシュボード上に一覧として表示させるためには、そのコンテナーやアプリケーションは実行しているか停止中でなければなりません。

Docker Desktop Dashboard

これ以降の節では、サンプルとして Redis コンテナーとサンプルアプリケーションの生成手順を説明します。 これによって、Docker ダッシュボードの重要な機能を示していきます。

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 によるワーカー。投票データを取り込み保存します。
  • Postgres または TiDB データベース。Docker ボリューム上に置かれます。
  • Node.js または ASP.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

...
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 を実行して、サンプル投票アプリを確認してみます。 アプリケーションの表示を展開して、アプリケーション内部で稼動するコンテナーを確認してみます。

Spring Boot アプリケーションビュー

このようにして起動中のコンテナーやアプリケーションの一覧は、ダッシュボード上において確認できるようになりました。 ここからさらに操作できる内容を見ていきます。

  • Port をクリックすると、コンテナーが開放しているそのポートをブラウザー上にて確認することができます。
  • CLI をクリックすると端末画面が開くので、コンテナー上でのコマンド実行が可能です。 Mac 上に iTerm2 をインストールしている場合、CLI オプションからは iTerm2 ターミナルが開きます。 それ以外であれば、Mac なら Terminal アプリ、Windows ならコマンドプロンプトが開きます。
  • StopStartRestartDelete をクリックすることで、コンテナーのライフサイクルを制御する操作を実行できます。

Search オプションを用いると、特定オブジェクトを検索することができます。 またコンテナーやアプリケーションの並び順は、さまざまなオプション指定により変更可能です。 ドロップダウンメニュー Sort by を実行すれば、利用可能な検索オプションの一覧を確認することができます。

コンテナーやアプリケーションとのやりとり

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

Containers/Apps 画面には、アプリケーション上に起動する全コンテナーの一覧が表示され、詳細ログ画面も示されます。 ここからアプリケーションの起動、停止、削除を行うこともできます。 ログ画面の下段にある Search オプションを利用すると、特定イベントのアプリケーションログを検索することができます。 また Copy アイコンを選択すれば、その出力ログをクリップボードにコピーすることができます。

Open in Visual Studio Code をクリックすると、VS Code 上にアプリケーションを開くことができます。 コンテナー一覧の上にマウスを移動させると、実行可能な主要操作が示されます。

アプリケーションビュー

コンテナー画面

コンテナーのどれか 1 つをクリックし、コンテナーの詳細な情報を見てみます。 container view には LogsInspectStats の各タブが表示されています。 ボタンクリックによってさまざまな操作をすばやく行うことができます。

  • Logs をクリックすると、コンテナーからのログを確認できます。 特定イベントに対するアプリケーションログを検索したり、出力ログをクリップボードにコピーしたりすることができます。

  • Inspect をクリックすると、コンテナーに関する低レベル情報が確認できます。 ローカルパス、イメージのバージョン番号、SHA-256、ポートマッピングなどの情報です。

  • Stats をクリックすると、コンテナーのリソース使用状況を確認することができます。 コンテナーが利用している CPU 数、ディスク I/O、メモリ、ネットワーク I/O などです。

またトップバー上にはすばやく操作するためのボタン類があり、共通的な操作を行うことができます。 たとえば CLI を開いてコンテナー内にてコマンドを実行したり、コンテナーのライフサイクルを操作する操作としてコンテナーの停止、起動、再起動を行ったりできます。

イメージの確認

Images 画面の操作インターフェースはとても簡単です。 CLI を利用してくても Docker イメージを管理することができます。 Docker イメージの一覧は、デフォルトではローカルディスクにあるものが表示されます。 リモートリポジトリにあるイメージを表示するには Sign in をクリックして Docker Hub に接続します。 これを行うと開発チーム内での共同作業が可能となり、イメージを直接 Docker Desktop から管理することができます。

イメージ画面では主要な操作、たとえばイメージのコンテナーとしての実行、Docker Hub からのイメージ最新版のプル、Docker Hub へのイメージのプッシュ、イメージの詳細確認などを行うことができます。

さらにイメージ画面には、イメージに関するメタデータ情報が表示されます。 たとえばタグ、イメージ ID、イメージ生成日付、イメージサイズなどです。 またイメージの横に In Use タグがあって、コンテナーの起動や停止に利用できます。 これを使ってイメージ一覧を抽出して Clean up images オプションを利用すれば、必要のないイメージを削除して容量を確保することができます。

イメージ画面では、ローカルディスク内のイメージを検索することもできます。 そしてさまざまなオプションを使って並べ替えができます。

Images 画面にてさまざまなオプションを使って試してみます。

ディスク上にイメージがまったくない場合は、ターミナルからコマンドdocker pull redisを実行して、最新の Redis イメージを取得してください。 このコマンドは最新の Redis イメージを Docker Hub からプルします。

Dashboard > Images を実行して Redis イメージを確認します。

Redis イメージ

コンテナーとしてのイメージ実行

ディスク上に Redis イメージを取得したので、このイメージをコンテナーとして実行します。

  1. Docker メニューから Dashboard > Images を実行します。 これによりローカルディスク上のイメージ一覧が表示されます。
  2. 一覧から Redis イメージを選んで Run をクリックします。
  3. 確認画面が表示されたら Optional settings ドロップダウンメニューをクリックして、名前、ポート、ボリュームを指定した上で Run をクリックします。

    デフォルト設定を利用する場合は、オプション設定を何も指定せずに Run をクリックします。 こうすると Redis イメージから新たなコンテナーが生成されて、Container/Apps 画面内に表示されます。

Docker Hub からの最新イメージのプル

Docker Hub から最新イメージをプルするには以下を行います。

  1. Docker メニューから Dashboard > Images を実行します。 これによりローカルディスク上のイメージ一覧が表示されます。
  2. 一覧から目的のイメージを選んで、more options ボタンをクリックします。
  3. Pull をクリックします。 Docker Hub から最新版のイメージがプルされます。

メモ

イメージの最新版をプルするためには、利用するリポジトリが Docker Hub 上に存在していなければなりません。 プライベートイメージをプルする場合には、ログインしておくことが必要です。

Docker Hub へのイメージのプッシュ

Docker Hub へイメージをプッシュするには以下を行います。

  1. Docker メニューから Dashboard > Images を実行します。 これによりローカルディスク上のイメージ一覧が表示されます。
  2. 一覧から目的のイメージを選んで、more options ボタンをクリックします。
  3. Push to Hub をクリックします。

メモ

Docker Hub にイメージをプッシュできるのは、そのイメージが自身の Docker ID や組織に属している場合に限ります。 つまりそのイメージのタグ内に適切なユーザー名/組織が含まれている場合に限って、Docker Hub へのプッシュができるようになります。

イメージの確認

イメージの詳細確認を行うと、イメージに関する詳細情報が表示されます。 たとえばイメージ履歴、イメージ ID、イメージの生成日付、イメージサイズなどです。 イメージの詳細確認は以下のようにして行います。

  1. Docker メニューから Dashboard > Images を実行します。 これによりローカルディスク上のイメージ一覧が表示されます。
  2. 一覧から目的のイメージを選んで、more options ボタンをクリックします。
  3. Inspect をクリックします。
  4. イメージ詳細画面では、最新イメージのプル、Hub へのイメージプッシュ、イメージ削除、コンテナーとしてのイメージ実行も行うことができます。

イメージの削除

Images 画面からは、不要なイメージをディスクから削除することができます。 ディスクステータスバー上のイメージには、イメージ数、イメージによるディスク総容量が表示されます。

個別にイメージを削除することができます。 あるいは Clean up オプションを使って、未使用の dangling なイメージを削除することができます。

イメージを個別に削除するには以下を行います。

  1. Docker メニューから Dashboard > Images を実行します。 これによりローカルディスク上のイメージ一覧が表示されます。
  2. 一覧から目的のイメージを選んで、more options ボタンをクリックします。
  3. Remove をクリックします。 これによりディスクからイメージが削除されます。

メモ

実行中、停止中のコンテナーによって利用されているイメージを削除するには、その前に関連するコンテナーを削除しなければなりません。

未使用の dangling なイメージの削除

未使用の イメージとは、実行中、停止中のコンテナーのいずれからも利用されていないイメージのことです。 同一のタグを用いて、新たなバージョンのそのイメージをビルドしたときに、そのイメージが dangling(宙ぶらり)になります。

未使用の dangling なイメージの削除方法

  1. Docker メニューから Dashboard > Images を実行します。 これによりローカルディスク上のイメージ一覧が表示されます。
  2. ステータスバー上の Images on disk から Clean up を選びます。
  3. 削除jしたいイメージのタイプに合わせて UnusedDangling のチェックボックスを選びます。

    ステータスバーの Clean up イメージには、選択したイメージの削除によって増加するディスク総量が示されます。

  4. 確認のために Remove をクリックします。

リモートリポジトリとのやりとり

Images 画面では、リモートリポジトリ内のイメージを管理したりやりとりしたりすることができます。 そして組織間を切り替えることもできます。 ドロップダウンメニューから組織を選択して、組織内のリポジトリの一覧を確認してください。

メモ

Docker の有償サブスクリプションを購入していて、 Docker Hub における ぜい弱性スキャン を有効にしている場合、スキャン結果は Remote repositories タブに表示されます。

Pull オプションを使うと、Docker Hub から最新版イメージをプルすることができます。 View in Hub オプションを使うと Docker Hub ページが開き、イメージに関する詳細情報が表示されます。 たとえば OS アーキテクチャー、イメージサイズ、イメージのプッシュ日付、イメージレイヤー一覧などです。

リモートリポジトリ内のイメージ

リモートリポジトリをやりとりするには以下を行います。

  1. Remote repositories タブをクリックします。
  2. ドロップダウンリストから組織を選択します。 これにより組織内のリポジトリ一覧が表示されます。
  3. 一覧の中からイメージをクリックしてから Pull を選び、リモートリポジトリから最新イメージをプルします。
  4. Docker Hub 内のイメージに関する詳細情報を確認するには、イメージを選択して View in Hub をクリックします。

    View in Hub オプションは Docker Hub ページを開いて、イメージの詳細情報を表示します。 たとえば OS アーキテクチャー、イメージサイズ、イメージ公開日、イメージレイヤー一覧などです。

    Docker サブスクリプションを購入していて、Docker Hub における ぜい弱性スキャン を有効にしている場合、Docker Hub ページには、ぜい弱性スキャン結果の概要が表示され、検出されたぜい弱性に関する詳細情報が提供されます。

ボリュームの確認

ボリューム を利用すれば、ファイルを保存し、コンテナー間で共有することができます。 ボリュームは Docker が生成し、直接管理します。 これは Docker コンテナーやサービスにおいて、データ保存を行う際によく採用されている仕組みでもあります。

Volume Management is now available for all subscriptions

Docker Desktop 4.1.0 リリースから、Docker Personal も含め、どのサブスクリプションユーザーであっても、ボリューム管理機能が利用できるようになりました。 Docker Desktop 4.1.0 にアップデートして、無料のボリューム管理を始めてください。

Docker Dashboard の Volumes 画面では、ボリュームの生成削除や、どれが利用中であるかの確認が簡単にできます。 特定のボリュームを利用するコンテナーがどれであって、そのボリューム内にどのようなファイルやフォルダーがあるのかも確認できます。

ボリュームの管理

デフォルトで Volumes 画面には、ボリュームの全一覧が表示されます。 コンテナーによって現在利用されているボリュームには In Use(利用中) バッチが表示されます。

ボリューム一覧

ボリュームを検索するには Search(検索) 欄を使います。 検索した結果は、名前、生成時刻、ボリュームサイズによってソートすることができます。

特定のボリュームを詳細に確認するには、まず一覧の中からそのボリュームを選択します。 そこからは詳細画面が開きます。

In Use (利用中) タブには、ボリュームを利用しているコンテナー名、イメージ名、コンテナーが利用するポート番号、ターゲットが表示されます。 ターゲットとは、ボリューム内のファイルにアクセスするための、コンテナー内のパスのことです。

Data タブには、そのボリューム内にあるファイルやフォルダーとそのサイズが表示されます。 ファイルやフォルダーを保存するには、そのファイルやフォルダー上にマウス移動して、more オプションメニューをクリックします。 そして Save As を選んで、ファイルのダウンロード先を指定します。

ボリュームからファイルやフォルダーを削除するには、more オプションメニューから Remove を選びます。

ボリュームの削除

ボリュームを削除すると、ボリュームと関連データをすべて削除します。 ボリュームを削除するには、ボリューム上にマウス移動して Delete ボタンをクリックします。 または一覧からボリュームを選択して、Delete ボタンをクリックします。

Docker Dashboard, manage, containers, gui, dashboard, images, kitematic