Dockerとは
Dockerは、アプリケーションをコンテナと呼ばれる隔離環境で実行・管理するためのプラットフォーム。
- コンテナ型仮想化 VM(仮想マシン)のようにゲストOSを立ち上げず、ホストOSのカーネルを共有してプロセスとして動作するため、起動が高速でリソース消費が極めて少ない。
- 環境の一貫性(Portability) アプリケーションコード、ランタイム、システムツール、ライブラリなどを「イメージ」として一つにパッケージ化する。これにより、開発・検証・本番環境での差異(環境依存のトラブル)を排除できる。
- Infrastructure as Code (IaC)
Dockerfileというテキストファイルでインフラ構成を定義・管理できるため、バージョン管理やCI/CD(継続的インテグレーション/デリバリー)との親和性が高い。

1. コンテナのライフサイクル管理
| コマンド | 説明 |
|---|---|
docker run [image] | 新しいコンテナを作成して起動 |
docker run -d -p [host_port]:[container_port] --name [name] [image] | バックグラウンド実行(-d)、ポートフォワーディング指定(-p)、名前指定で起動 |
docker start [container] | 停止中のコンテナを起動 |
docker stop [container] | 実行中のコンテナを停止 |
docker restart [container] | コンテナを再起動 |
docker rm [container] | 停止中のコンテナを削除 |
docker rm -f [container] | 実行中のコンテナを強制削除 |
docker ps | 実行中のコンテナ一覧を表示 |
docker ps -a | 停止中を含む全コンテナ一覧を表示 |
2. イメージ管理
| コマンド | 説明 |
|---|---|
docker build -t [name]:[tag] . | カレントディレクトリのDockerfileからイメージをビルド |
docker pull [image] | レジストリからイメージを取得 |
docker push [image] | レジストリへイメージをアップロード |
docker images | ローカルのイメージ一覧を表示 |
docker rmi [image] | イメージを削除 |
docker tag [source_image] [target_image] | イメージに新しいタグを付与 |
docker image prune | 未使用(dangling)のイメージを一括削除 |
3. コンテナの操作・デバッグ
| コマンド | 説明 |
|---|---|
docker logs [container] | コンテナのログを表示 |
docker logs -f [container] | コンテナのログをリアルタイムで追跡(tail -fと同様) |
docker exec -it [container] /bin/bash | 実行中のコンテナ内でBashシェルを対話モードで起動 |
docker exec -it [container] sh | 上記のsh版(Alpine Linux等で有効) |
docker cp [host_path] [container]:[container_path] | ホストからコンテナへファイルをコピー |
docker cp [container]:[container_path] [host_path] | コンテナからホストへファイルをコピー |
docker inspect [container] | コンテナの詳細情報(IP、マウント設定等)をJSONで表示 |
docker stats | コンテナのリソース使用状況(CPU, メモリ等)をリアルタイム表示 |
4. ネットワークとボリューム
| コマンド | 説明 |
|---|---|
docker network ls | ネットワーク一覧を表示 |
docker network create [network] | 新しいネットワークを作成 |
docker network connect [network] [container] | コンテナをネットワークに接続 |
docker volume ls | ボリューム一覧を表示 |
docker volume create [volume] | 新しいボリュームを作成 |
docker volume rm [volume] | ボリュームを削除 |
docker volume inspect [volume] | ボリュームの詳細情報を表示 |
5. システム・クリーンアップ
| コマンド | 説明 |
|---|---|
docker system df | Dockerが使用しているディスク容量を表示 |
docker system prune | 停止中のコンテナ、未使用ネットワーク、danglingイメージを一括削除 |
docker system prune -a | 上記に加え、使用されていない全イメージも削除(注意が必要) |
docker volume prune | 未使用のボリュームを一括削除 |
6. Docker Compose
| コマンド | 説明 |
|---|---|
docker compose up -d | コンテナを作成してバックグラウンドで起動 |
docker compose up --build | イメージを再ビルドしてから起動 |
docker compose down | コンテナを停止し、ネットワーク等を削除 |
docker compose down -v | コンテナ停止時にボリュームも削除 |
docker compose start | サービスを起動(コンテナ作成済みの場合) |
docker compose stop | サービスを停止 |
docker compose logs -f | 全サービスのログをリアルタイム表示 |
docker compose ps | 定義されたサービスの状態一覧を表示 |
docker compose exec [service] [command] | 指定したサービス内でコマンドを実行 |