1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【保存版】Docker / Docker Compose コマンドチートシート

1
Posted at

はじめに

dockerdocker composeのコマンドを、使用頻度別にまとめました。
コンテナ操作・イメージ管理からデバッグ・クリーンアップまで、実務でよく詰まるポイントを中心に整理しています。

本記事の見方

  • 🔥:ほぼ毎日使う。反射的に打てるようにしておきたい
  • ⭐:頻度は高くないが、業務で詰まりがちなので覚えておくべき
  • 📝:使う機会は少ないが、知っておくと引き出しが増える

Docker CLIには旧来のdocker-compose(ハイフン区切り・Python製)と、現行のdocker compose(サブコマンド・Docker CLI組み込み)があります。本記事は現行のdocker compose表記で統一していますが、コマンド体系はほぼ共通です。


Docker基本コマンド

イメージ操作

頻度 コマンド 説明
🔥 docker images ローカルのイメージ一覧を表示 docker images
🔥 docker pull レジストリからイメージを取得 docker pull nginx:latest
🔥 docker build Dockerfileからイメージをビルド docker build -t myapp:1.0 .
docker rmi イメージを削除 docker rmi myapp:1.0
docker tag イメージにタグを付与 docker tag myapp:1.0 myapp:latest
docker push レジストリへイメージを送信 docker push myrepo/myapp:1.0
docker history イメージのレイヤー構成を確認 docker history myapp:1.0
📝 docker save / docker load イメージをtarファイルに書き出し/読み込み docker save -o myapp.tar myapp:1.0
📝 docker inspect イメージ・コンテナの詳細情報をJSONで表示 docker inspect myapp:1.0

コンテナ操作

頻度 コマンド 説明
🔥 docker run イメージからコンテナを作成・起動 docker run -d -p 8080:80 nginx
🔥 docker ps 稼働中のコンテナ一覧を表示 docker ps -a(停止中も含む)
🔥 docker stop コンテナを停止 docker stop my_container
🔥 docker start 停止中のコンテナを起動 docker start my_container
🔥 docker restart コンテナを再起動 docker restart my_container
🔥 docker exec 稼働中のコンテナ内でコマンドを実行 docker exec -it my_container bash
🔥 docker logs コンテナのログを表示 docker logs -f my_container
🔥 docker rm コンテナを削除 docker rm my_container
docker cp コンテナとホスト間でファイルをコピー docker cp my_container:/app/log.txt ./
docker stats コンテナのリソース使用状況をリアルタイム表示 docker stats
docker top コンテナ内のプロセス一覧を表示 docker top my_container
docker kill コンテナを強制終了 docker kill my_container
docker rename コンテナ名を変更 docker rename old_name new_name
📝 docker pause / docker unpause コンテナを一時停止/再開 docker pause my_container
📝 docker diff コンテナ内でのファイル変更差分を表示 docker diff my_container
📝 docker commit コンテナの現状態からイメージを作成 docker commit my_container myapp:debug

docker run の主要オプション

頻度 オプション 説明
🔥 -d, --detach バックグラウンドで実行
🔥 -p host:container ポートをホストにマッピング
🔥 -v host:container ボリューム(ディレクトリ)をマウント
🔥 --name コンテナに名前を付与
🔥 -it 対話的シェルとして起動(-i標準入力保持 + -t疑似端末割当)
-e KEY=VALUE 環境変数を設定
--rm コンテナ終了時に自動削除
--network 接続するネットワークを指定
--restart 再起動ポリシーを設定(always, on-failure等)
📝 --env-file 環境変数をファイルから読み込み
📝 -w, --workdir コンテナ内の作業ディレクトリを指定
docker run -d --name web -p 8080:80 -v $(pwd)/html:/usr/share/nginx/html --restart always nginx
docker exec -it web bash               # 稼働中コンテナに入って調査
docker logs -f --tail 100 web          # 直近100行から追跡してログ監視

ネットワーク

頻度 コマンド 説明
docker network ls ネットワーク一覧を表示 docker network ls
docker network create ネットワークを作成 docker network create mynet
docker network inspect ネットワークの詳細を確認(接続中コンテナ等) docker network inspect mynet
📝 docker network connect / disconnect 既存コンテナをネットワークに接続/切断 docker network connect mynet web

ボリューム

頻度 コマンド 説明
docker volume ls ボリューム一覧を表示 docker volume ls
docker volume create ボリュームを作成 docker volume create mydata
docker volume inspect ボリュームの詳細(実体のパス等)を確認 docker volume inspect mydata
📝 docker volume rm ボリュームを削除 docker volume rm mydata
📝 docker volume prune 未使用ボリュームを一括削除 docker volume prune

システム管理・クリーンアップ

頻度 コマンド 説明
🔥 docker system prune 未使用のコンテナ・イメージ・ネットワークをまとめて削除 docker system prune -a
docker system df Dockerが使用しているディスク容量を確認 docker system df
docker container prune 停止中コンテナをまとめて削除 docker container prune
docker image prune 未使用イメージをまとめて削除 docker image prune -a
📝 docker info Docker環境全体の情報を表示 docker info
📝 docker version Dockerのバージョン情報を表示 docker version

docker system prune -aは未使用のイメージも含めて全削除します。ローカルで作業中の未pushイメージが消えることもあるので、実行前にdocker imagesで確認する癖をつけましょう。


Docker Compose基本コマンド

ライフサイクル管理

頻度 コマンド 説明
🔥 docker compose up compose.yamlに定義したサービスをまとめて起動 docker compose up -d
🔥 docker compose down サービスを停止し、コンテナ・ネットワークを削除 docker compose down
🔥 docker compose ps 起動中サービスの一覧を表示 docker compose ps
🔥 docker compose logs 各サービスのログを表示 docker compose logs -f web
🔥 docker compose build build定義に沿ってイメージをビルド docker compose build --no-cache
🔥 docker compose exec 稼働中サービスのコンテナ内でコマンド実行 docker compose exec web bash
docker compose restart サービスを再起動 docker compose restart web
docker compose stop / start サービスの停止/起動(コンテナは残す) docker compose stop web
docker compose run 一時的にコンテナを起動してコマンド実行(ポート公開はされない) docker compose run --rm web npm test
docker compose pull 各サービスのイメージを取得 docker compose pull
📝 docker compose pause / unpause サービスを一時停止/再開 docker compose pause web
📝 docker compose top 各サービスのプロセスを表示 docker compose top
📝 docker compose config 設定ファイルの内容を検証・展開表示(変数展開後の確認に便利) docker compose config

docker compose up の主要オプション

頻度 オプション 説明
🔥 -d, --detach バックグラウンドで実行
🔥 --build 起動前にイメージを再ビルド
--force-recreate 設定変更がなくてもコンテナを再作成
--scale service=N 指定サービスをN個起動(スケールアウト)
📝 --no-deps 依存サービス(depends_on)を起動しない

docker compose down の主要オプション

頻度 オプション 説明
-v, --volumes 関連するボリュームも削除
--rmi all 関連するイメージも削除
📝 --remove-orphans compose.yamlに定義がなくなったサービスのコンテナも削除
docker compose up -d --build           # ビルドしてバックグラウンド起動
docker compose logs -f --tail 50 api   # apiサービスのログを直近50行から追跡
docker compose exec db psql -U admin   # dbサービスのコンテナでpsqlを起動
docker compose down -v                 # コンテナ・ネットワーク・ボリュームをまるごと削除

compose.yaml の基本構造

services:
  web:
    build: .                # ローカルのDockerfileからビルド
    image: myapp:latest
    ports:
      - "8080:80"            # ホスト:コンテナ
    volumes:
      - ./html:/usr/share/nginx/html
    environment:
      - APP_ENV=production
    env_file:
      - .env
    depends_on:
      - db
    restart: always

  db:
    image: postgres:16
    volumes:
      - db_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=example

volumes:
  db_data:
頻度 主要キー 説明
🔥 build Dockerfileの場所を指定してビルド
🔥 image 使用するイメージを指定
🔥 ports ポートマッピング
🔥 volumes ボリューム・ディレクトリのマウント
🔥 environment / env_file 環境変数の設定
depends_on サービス間の起動順序を制御
restart 再起動ポリシー
networks 接続するネットワークを指定
📝 healthcheck コンテナのヘルスチェック方法を定義
📝 profiles 特定条件でのみ起動するサービスを定義

よく使う組み合わせ・Tips

# 変更を反映しつつログも見たいとき
docker compose up --build

# 特定サービスだけ再ビルド&再起動
docker compose up -d --build web

# コンテナが落ちた原因を確認
docker compose ps -a
docker compose logs --tail 100 web

# 中身をクリーンにして作り直す
docker compose down -v --remove-orphans
docker compose up -d --build

まとめ

Dockerは🔥マークのrunpsexeclogsが使えれば大半の日常操作はカバーできます。Composeはupdownlogsexecの4つを軸に、困ったときはdocker compose configで設定の展開結果を確認する、という流れを覚えておくと詰まりにくくなります。

関連記事: Linuxコマンドチートシート / Linuxコマンド オプション徹底解説編 / nanoエディタ操作チートシート

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?