メインコンテンツまでスキップ

Docker チートシート:目的別コマンドリファレンス

タグ:

業務で Docker を使っていると、オプションや構文を都度調べ直すことがよくあります。本記事では、業務でよく使う Docker コマンドを目的別にまとめました。操作したいことからすばやく引けるリファレンスとして活用してみましょう。

イメージ

ローカルに保存されているイメージの一覧を表示します。

docker images

Docker Hub などのレジストリからイメージを取得します。

docker pull nginx:latest

Dockerfile からイメージをビルドします。-t でイメージ名とタグを指定します。

docker build -t my-app:latest .

起動

イメージからコンテナを新規作成して起動するには docker run を使います。-d でバックグラウンド実行、--name でコンテナ名を指定できます。

docker run -d --name my-container nginx

ポートのマッピングには -p オプションを使います。<ホスト側ポート>:<コンテナ側ポート> の形式で指定します。

docker run -d -p 8080:80 --name my-nginx nginx

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

docker start <コンテナ名またはID>

実行中のコンテナを再起動します。サービスの設定を反映させたいときなどに使います。

docker restart <コンテナ名またはID>

コンテナ状態

コンテナの一覧を確認します。-a を付けると停止中のコンテナも含めてすべて表示されます。

docker ps
docker ps -a

特定のコンテナの詳細情報(IPアドレス、マウント、環境変数など)を確認します。

docker inspect <コンテナ名またはID>

コンテナのリソース使用状況(CPU・メモリ)をリアルタイムで確認します。

docker stats

Docker 全体のディスク使用量(イメージ・コンテナ・ボリューム・キャッシュ)を確認します。削除前に空き容量を把握するときに役立ちます。

docker system df

コンテナのログを確認します。-f でリアルタイム追跡、--tail で表示行数を絞れます。

docker logs <コンテナ名またはID>
docker logs -f <コンテナ名またはID>
docker logs --tail 100 <コンテナ名またはID>

ボリュームの一覧を確認します。

docker volume ls

ボリュームの詳細情報(マウント先のパスなど)を確認します。

docker volume inspect <ボリューム名>

ネットワークの一覧を確認します。

docker network ls

接続しているコンテナや設定の詳細を確認します。

docker network inspect <ネットワーク名>

コンテナ操作

実行中のコンテナに入ります。bash が入っていないコンテナ(Alpine Linux ベースなど)では sh を使います。

docker exec -it <コンテナ名またはID> bash
docker exec -it <コンテナ名またはID> sh

コンテナに入らずに一度だけコマンドを実行することもできます。

docker exec <コンテナ名またはID> ls /etc

ホストからコンテナにファイルをコピーします。設定ファイルの送り込みに使います。

docker cp <ホスト側パス> <コンテナ名またはID>:<コンテナ側パス>

コンテナからホストにファイルをコピーします。ログファイルや設定ファイルの取り出しに使います。

docker cp <コンテナ名またはID>:<コンテナ側パス> <ホスト側パス>

停止/削除

実行中のコンテナを停止します。SIGTERM を送信し、一定時間後に応答がなければ SIGKILL で終了します。

docker stop <コンテナ名またはID>

停止したコンテナを削除します。-f を付けると実行中でも強制削除できます。

docker rm <コンテナ名またはID>
docker rm -f <コンテナ名またはID>

停止済みのコンテナ、未使用のイメージ・ボリュームをまとめて削除するには prune が便利です。

docker container prune
docker image prune
docker volume prune

停止中コンテナ・未使用イメージ・未使用ネットワーク・キャッシュをまとめて削除します。--volumes を付けるとボリュームも対象になります。

docker system prune
docker system prune --volumes

まとめ

  • コンテナを動かすまでの基本的な流れは「イメージ取得 → コンテナ起動 → 状態確認」です
  • 問題が起きたときはログを確認し、コンテナ内部に入って調べましょう
  • 定期的にディスク使用量を確認し、不要なリソースをクリーンアップする習慣をつけましょう