😽
Docker でよく使われるコマンド
Docker 基本コマンド一覧
環境の確認・管理
docker version
- 用途: Docker Engineのバージョン確認
- 説明: クライアント(CLI)とサーバー(Docker Engine/Daemon)のバージョン情報を表示し、Dockerが正しく動作しているか確認します。
-
例:
docker version
docker info
- 用途: Docker環境全体の情報表示
- 説明: コンテナ、イメージ、ストレージドライバー、CPU/メモリ使用可能量などの詳細な統計情報を表示します。
-
例:
docker info
イメージの操作 (Images)
docker pull <イメージ名>
- 用途: イメージのダウンロード
-
説明: Docker Hubなどのリモートリポジトリから、指定した名前のイメージをローカルにダウンロードします。バージョン指定がない場合は最新版(
:latest)がダウンロードされます。 -
例:
docker pull ubuntu:22.04
docker images
- 用途: ローカルのイメージ一覧表示
- 説明: 現在ローカル環境にダウンロードされているすべてのイメージを一覧で表示します(イメージID、リポジトリ名、タグ、サイズなど)。
-
例:
docker images
docker rmi <イメージID または イメージ名>
- 用途: ローカルイメージの削除
- 説明: ローカル環境から指定したイメージを削除します。そのイメージを使用しているコンテナが動作していないか、先に削除されている必要があります。
-
例:
docker rmi ubuntu:22.04
docker build -t <名前> <Dockerfileのパス>
- 用途: Dockerfileからイメージをビルド
-
説明: 指定されたDockerfileとコンテキスト(通常は
.)を使用して、新しいDockerイメージを作成し、タグ(名前)を付けます。 -
例:
docker build -t my-web-app .
コンテナの実行・操作 (Containers)
docker run <オプション> <イメージ名> <コマンド>
- 用途: 新しいコンテナの作成と実行
- 説明: 指定したイメージから新しいコンテナを作成し、その中でコマンドを実行します。
-
例 (バックグラウンド実行):
docker run -d --name my-nginx -p 8080:80 nginx -
例 (対話型シェル):
docker run -it ubuntu /bin/bash
docker ps
- 用途: 実行中のコンテナ一覧表示
- 説明: 現在実行中のすべてのコンテナのID、イメージ、ポートマッピング、ステータスなどを表示します。
-
例 (全て表示):
docker ps -a
docker logs <コンテナID または コンテナ名>
- 用途: コンテナのログ出力
- 説明: コンテナの標準出力(stdout/stderr)に書き出されたログを表示します。
-
例 (リアルタイム追尾):
docker logs -f my-nginx
docker exec <コンテナID または コンテナ名> <コマンド>
- 用途: 実行中のコンテナ内でコマンド実行
- 説明: 既に起動しているコンテナ内に接続し、指定したコマンドを実行します。
-
例 (シェル接続):
docker exec -it my-web-app /bin/bash
docker stop <コンテナID または コンテナ名>
- 用途: 実行中のコンテナを優雅に停止
- 説明: コンテナに終了シグナルを送り、設定されたタイムアウト(デフォルト10秒)を待って停止します。
-
例:
docker stop my-container
docker start <コンテナID または コンテナ名>
- 用途: 停止中のコンテナを再開
- 説明: 停止しているコンテナを再起動します。
-
例:
docker start my-container
docker rm <コンテナID または コンテナ名>
- 用途: コンテナの削除
- 説明: 停止しているコンテナをシステムから完全に削除します。
-
例:
docker rm my-container
その他の管理コマンド
docker system prune
- 用途: 不要なリソースの一括削除
- 説明: 停止中のコンテナ、使用されていないネットワーク、タグ付けされていないイメージ、ビルドキャッシュなど、使用されていないすべてのリソースを一括で削除し、ディスク容量を解放します。
-
例:
docker system prune -a
Discussion