Dockerイメージ、Dokcerコンテナの基本コマンドのまとめ

3 min読了の目安(約3000字TECH技術記事

はじめに

この記事は初めてDockerを学習した初学者がDockerイメージ、Dockerコンテナを操作する基本コマンドについて学んだことを備忘録として残すことを目的に書きます。

この記事が他の人の参考になれば幸いです。
また、この記事の内容に間違った記載がありましたら、指摘していただけるとありがたいです。

環境

2020年11月15日時点。

Docker for MacでDockerを使用します。

名前 バージョン
macOS Catalina 10.15.7
Docker 19.03.13

DockerHubからDokcerイメージを取得する

% docker pull <イメージ名>[:タグ]

Docker HubからDokcerイメージを取得することができます。
デフォルトでは:latestタグを使用され、最新版のDokcerイメージを取得します。

DockerfileからDokcerイメージの作成する

docker build [オプション] <Dockerfileのパス>

DockerfileからDokcerイメージをビルドします。
-t (--tag) <イメージ名[:タグ]>オプションで、作成するDokcerイメージに名前と任意のタグを指定できます。
-f (--file) <Dockerfile名>オプションで、使用するDockerfileの名前を指定できます。

Dokcerイメージを一覧表示する

% docker images

Dokcerイメージを一覧表示します。
-a, --allオプションで、中間イメージも含めて全てのDokcerイメージを表示します。

Dokcerイメージを削除する

% docker rmi <イメージID>

Dokcerイメージを削除します。
削除するDokcerイメージから作成したDokcerコンテナが存在している場合は削除できません。
引数にイメージIDを複数渡し、複数のDokcerイメージを削除することもできます。
-f, --forceオプションで、Dokcerコンテナが存在してもDokcerコンテナを残し、Dokcerイメージだけを削除します。

Dokcerイメージの履歴を表示する

% docker history <イメージID>

Dokcerイメージの作成の履歴を表示します。
どのコマンドで、どのようにDokcerイメージが重ねられていくかを確認でき、それぞれのDokcerイメージのサイズなども見れます。

Dockerコンテナを作成し、起動する

% docker run [オプション] <イメージ名>

DokcerイメージからDokcerコンテナを作成し、起動します。
-d (--detach) オプションで、Dokcerコンテナをバックグラウンドで実行します。
-p (--publich) <ホスト側ポート番号>:<コンテナ側のポート番号>オプションで、ホストとコンテナのポートをマッピングします。
--name <コンテナ名> オプションで、コンテナ名を指定できます。
-e (--env) <キー>=<値>オプションで、環境変数を設定できます。
-itオプションで、起動した後にプロンプトに接続できます。
-v (--volume) <ホスト側のボリュームまたはディレクトリ>:<コンテナ側のディレクトリ>オプションで、ホストのボリュームまたはディレクトリをコンテナのディレクトリにマウントします。ホスト側を省略し、-v <コンテナ側のディレクトリ>で作成した場合、名前なしボリュームが作成されます。

停止中のDokcerコンテナを起動する

% docker start <コンテナ名>

停止中のDokcerコンテナを起動します。
-i (--interactive)オプションで、起動した後にプロンプトに接続できます。

Dockerコンテナを一覧表示する

% docker ps [オプション]

起動しているDockerコンテナを一覧表示します。
-a(--all)オプションで、停止中のDokcerコンテナも含めて一覧表示します。

起動中のDokcerコンテナのプロンプトに接続する

% docker exec -it <コンテナID> <シェル>

起動中のDokcerコンテナのプロンプトに接続できます。
シェルにはshbashなどが使えます。
exitで接続を切れます。

Dokcerコンテナのログを見る

% docker logs <コンテナID>

バックグラウンドで起動しているDokcerコンテナのログを見ることができます。
-f (--follow=false)でログを表示し続けられます。

Dokcerコンテナを停止する

% docker stop <コンテナID>

起動中のDokcerコンテナを停止します。

Dokcerコンテナを削除する

% docker rm <コンテナID>

Dokcerコンテナを削除します。
実行中のDokcerコンテナは削除できません。
引数にコンテナIDを複数渡し、複数のDokcerコンテナを削除することもできます。
-f (--force)オプションで、実行中のDokcerコンテナであっても削除できます。
-v (--volume)オプションで、docker run -vで作成したボリュームも同時に削除します。

使用していないシステムの一括削除

% docker system prune

全ての停止中のDokcerコンテナ、使われていないネットワーク、無名のDokcerイメージ、無名のビルドキャッシュを削除します。

使用していないDokcerイメージの一括削除

% docker image prune

使用していなDokcerイメージを一括削除します。

停止中のDokcerコンテナの一括削除

% docker container prune

停止中のDokcerコンテナを一括削除します。

使われていないボリュームの一括削除

% docker volume prune

使われていないボリュームを一括削除します。

参考