技術情報 Dockerブログ
第1回 Dockerコマンドの説明
前回の“開発者向けコンテナ情報”では、Dockerの概念について説明しました。今回からの“開発者向けコンテナ情報”では、Docker社が提供するサンプルアプリケーション(以下サンプルアプリ)をデモ環境にデプロイした内容について、5回に分けて説明します。
第1回「Dockerコマンドの説明」
第2回「デモ環境の説明」
第3回「サンプルアプリのデプロイ操作の説明」
第4回「サンプルアプリの修正、デプロイ、動作テストの説明」
第5回「サンプルアプリのバージョンアップ、デプロイ、動作テストの説明」
サンプルアプリは、Node.js において稼動する Todo リストマネージャーを使用します。
第1回でDockerのコマンドの紹介とコンテナの運用・管理について説明します。
第2回でサンプルアプリをデプロイするデモ環境とVisual Studio Codeの設定について説明します。
第3回から、サンプルアプリのデプロイ、第4回でSourceの編集と適用、第5回でコンポーネントのバージョンの変更してからの再デプロイについて説明します。
今回は、第1回「Dockerコマンドの説明」として、Dockerの運用、コンテナの管理、コンテナのイメージ管理をワークフローと実際の操作を交えて説明します
なお、免責事項に関しては韋駄天利用規約をご確認ください
最初にDockerの運用コマンドとその実行内容を説明します。ここで説明するコマンドは、Docker社のサイトから抜粋した下記の一覧になります。
コマンド |
実行内容の説明 |
|
---|---|---|
① | docker pull “コンテナイメージ名” | レジストリからイメージやリポジトリを取得 |
② | docker build “Dockerfile” | Dockerfile からイメージを 構築 |
③ | docker run “コンテナイメージ名” | 新しいコンテナを実行するコマンド |
④ | docker commit “コンテナ名” | コンテナの変更から新しいイメージを作成 |
⑤ | docker push “コンテナイメージ名” | レジストリにイメージやリポジトリを送信 |
ここから、上記のコマンドの利用イメージを説明します。レジストリサービスから、コンテイメージをダウンロードして、コンテナ化、編集後に稼働確認、再度イメージ化してレジストリサービスにアップロードするといった、コンテナの運用サイクルを把握して頂くため、実環境では省略するコマンドや今回のサンプルアプリ展開で使用しないコマンドについても記載しています。
-
① ∼ ⑤は、上記の表の番号
① docker pull コンテナイメージA で利用するコンテナイメージAを、レジストリサービス(オプション指定しない場合は、Docker Hub)からダウンロードします。
② docker build Dockerfile で、Dockerfileに記載された定義・指示に従って、コンテナイメージBを構築します。
③ docker run コンテナイメージB でコンテナイメージBからコンテナBを実行します。
実行中のコンテナBの内部にアクセスし、Sourceコードを編集し、動作を確認します。(変更後のコンテナをコンテナCとします)
④ docker commit コンテナC でを新しいコンテナイメージC を作成します。
⑤ docker push コンテナイメージ C でコンテナイメージC をレジストリサービスにアップロードします。
続いて、コンテナの管理コマンドとその実行内容について説明します。
ここで説明するコマンドは、Docker社のサイトから抜粋した下記の一覧になります。
コマンド |
実行内容の説明 |
|
---|---|---|
⑥ | docker ps | コンテナ一覧表示 |
⑦ | docker stop “コンテナ名” | 1つまたは複数のコンテナを停止 |
⑧ | docker start “コンテナ名” | 1つまたは複数のコンテナを開始 |
⑨ | docker rm “コンテナ名” | 1つまたは複数のコンテナを削除 |
ここから、上記のコマンドの利用例とコンテナの状況について説明します。(⑥ ∼ ⑨ は、上記の表の番号)
⑥ docker ps でコンテナの一覧表示ができます。ここでは、1つのコンテナ(コンテナA)を確認できます。
⑦ docker stop コンテナA でコンテナを停止ができます。ここでは、コンテナAが停止され、そのプロセスにアクセスできなくなります。
⑧ docker start コンテナA で停止しているコンテナを開始できます。ここでは、停止していたコンテナAが開始され、そのプロセスへのアクセスができます。
⑨ docker rm コンテナA で停止しているコンテナを削除できます。ここでは、停止していたコンテナAが削除されます。
続いて、コンテナイメージの管理についてのコマンドについて説明します。
ここで説明するコマンドは、Docker社のサイトから抜粋した下記の一覧になります。
コマンド |
実施内容の説明 |
|
---|---|---|
⑩ | docker images | イメージ一覧表示 |
⑪ | docker rmi “コンテナイメージ名” | 1つまたは複数のイメージを削除 |
ここでは、上記のコンテナイメージを管理するコマンドを下記環境で利用した際のコンテナイメージの状況について説明します。
⑩ ∼ ⑪は上記の表の番号
⑩ docker images でコンテナイメージの一覧表示ができます。ここでは、1つのコンテナイメージ(コンテナイメージA)が確認できます。
⑪ docker rmi コンテナイメージA でコンテナイメージを削除できます。ここではコンテナイメージAが削除され、そのコンテナイメージからコンテナを作成できなくなります。(その際、コンテナイメージAからコンテナ化していたコンテナAを先に削除している必要があります。)
コンテナイメージAを強制削除(docker rmi -f コンテナイメージA)すれば、コンテナAが稼働中でも削除できますが、ここではコンテナAを停止・削除してから削除しています。
今回は、第1回「Dockerコマンドの説明」として、Dockerコンテナの運用サイクルにおける主な管理コマンドを利用例を交えて説明しました。
次回は、第2回「デモ環境の説明」としてサンプルアプリをデプロイするデモ環境の説明をします。