【docker】Dockerでよく使うコマンド一覧

1.基本操作

1.バージョン・システム情報

– dockerのバージョンを表示。

docker --version

– Dockerのシステム情報を詳細表示

docker info

– コマンドのヘルプを表示

docker help

– 特定のコマンドのヘルプを表示

docker <command> --help

2.ログイン・ログアウト

1.docker hubとは

世界最大のクラウド型コンテナレジストリサービスで、Dockerイメージを保存・共有・配布するためのプラットフォームのこと。

2.docker hubの操作

– Docker Hubにログイン

docker login

– Docker Hubからログアウト

docker logout

2.イメージ操作

1.dockerイメージとは

dockerコンテナの動作環境となるテンプレートファイルで、
アプリケーションを動かすための「設計図」のような存在です。

OSやアプリケーションからアプリケーションの実行に使われるコマンド、メタデータまで含まれる。

イメージは読み取り専用のテンプレートに対し、
コンテナはテンプレートファイルに基づいてアプリケーションを実行する環境である。

つまり、Dockerイメージは「アプリケーションを動かすのに必要な全ての環境がパッケージ化されたファイル」で、これを元にコンテナという実行環境が作られます。

1.イメージの入手方法

  • Docker Hubからダウンロード
  • Dockerfileから自作可能

2.作成の流れ

  1. Dockerfile作成 → Dockerコンテナの設計内容をコマンド形式でまとめたテキストファイル 新しい Docker Hub の紹介 | Docker
  2. ビルド → DockerfileをBuildする(組み立てる)ことで、Dockerイメージが作成されます 新しい Docker Hub の紹介 | Docker
  3. 実行 → Dockerイメージをrunする(実行可能な状態にする)ことで、Dockerコンテナが作成される 新しい Docker Hub の紹介 | Docker

2.イメージ取得・管理

– Docker Hubからイメージをダウンロード

docker pull <image>

– ローカルのイメージ一覧を表示

docker imagesまたは
docker image ls

– 中間イメージを含む全イメージを表示

docker image ls -a

– イメージIDのみ表示

docker image ls -q

3.イメージ削除・整理

– 指定イメージを削除

docker rmi <image>

– イメージを強制削除

docker image rm -f <image>

– 未使用のイメージを一括削除

docker image prune

– 未使用の全イメージを削除

docker image prune -a

4.イメージの保存・読み込み

– イメージをtarファイルに保存

docker save -o <file.tar> <image>

– tarファイルからイメージを読み込み

docker load -i <file.tar>

5.イメージのタグ付け・送信

– イメージにタグを付与

docker tag <image> <repo:tag>

– イメージをリポジトリに送信

docker push <repo:tag>

– イメージのレイヤー履歴を表示

docker history <image>

3.コンテナ操作

1.コンテナとは

アプリケーションとその依存関係を一つのパッケージにまとめた軽量な実行環境のこと。

主なメリット:

  • 軽量で高速起動(仮想マシンより効率的)
  • どこでも同じように動作(環境依存の問題を解決)
  • 各コンテナが独立して動作

基本要素:

  • Dockerイメージ(設計図)
  • Dockerfile(設定ファイル)
  • Docker Hub(共有サービス)

現代のソフトウェア開発において、環境の一貫性とデプロイメントの効率化を実現する重要な技術です。

2.コンテナ起動・停止

– イメージからコンテナを起動

docker run <image>

– バックグラウンドでコンテナ起動

docker run -d <image>

– 対話的にコンテナ起動(シェル接続)

docker run -it <image> /bin/bash

– 名前を指定してコンテナ起動

docker run --name <name> <image>

– ポートマッピング付きで起動

docker run -p <host_port>:<container_port> <image>

3.コンテナ状態管理

– 停止中のコンテナを開始

docker start <container>

– コンテナを安全に停止

docker stop <container>

– コンテナを再起動

docker restart <container>

– コンテナを一時停止

docker pause <container>

– 一時停止中のコンテナを再開

docker unpause <container>

4.コンテナ一覧・情報

– 起動中のコンテナ一覧を表示

docker ps

– 全コンテナ(停止中含む)一覧を表示

docker ps -a

– コンテナIDのみ表示

docker ps -q

– 起動中のコンテナ一覧表示(psと同じ)

docker container ls

5.コンテナの削除・整理

– 停止中のコンテナを削除

docker rm <container>

– 起動中のコンテナを強制削除

docker rm -f <container>

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

docker container prune

6.コンテナ内操作

– 実行中コンテナ内でシェル実行

docker exec -it <container> /bin/bash

– コンテナ内でコマンド実行

docker exec <container> <command>

– 実行中コンテナにアタッチ

docker attach <container>

7.ログ・監視

– コンテナのログを表示

docker logs <container>

– ログをリアルタイム追跡

docker logs -f <container>

– 最新n行のログを表示

docker logs --tail <n> <container>

8.コンテナ詳細情報

– コンテナの詳細情報をJSON形式で表示

docker inspect <container>

– コンテナ内のプロセス一覧を表示

docker top <container>

– 全コンテナのリソース使用状況を表示

docker stats

– 指定コンテナのリソース使用状況を表示

docker stats <container>

9.ファイル操作

– コンテナからホストにファイルコピー

docker cp <container>:<src_path> <dest_path>

– ホストからコンテナにファイルコピー

docker cp <src_path> <container>:<dest_path>

4.ネットワーク管理

1.ネットワーク一覧・情報

– ネットワーク一覧を表示

docker network ls

– ネットワークの詳細情報を表示

docker network inspect <network>

2.ネットワーク作成・削除

– カスタムネットワークを作成

docker network create <network>

– ブリッジネットワークを作成

docker network create --driver bridge <network>

– ネットワークを削除

docker network rm <network>

– 未使用のネットワークを一括削除

docker network prune

3.ネットワーク接続・切断

– コンテナをネットワークに接続

docker network connect <network> <container>

– ネットワークから切断

docker network disconnect <network> <container>

5.ボリューム管理

1.ボリューム一覧・情報

  • docker volume ls – ボリューム一覧を表示
  • docker volume inspect <volume> – ボリュームの詳細情報を表示

2.ボリューム作成・削除

  • docker volume create <volume> – ボリュームを作成
  • docker volume rm <volume> – ボリュームを削除
  • docker volume prune – 未使用のボリュームを一括削除

6.イメージビルド

1.基本ビルド

  • docker build -t <image:tag> . – Dockerfileからイメージをビルド
  • docker build -f <dockerfile> -t <image:tag> . – 指定Dockerfileでビルド
  • docker build --no-cache -t <image:tag> . – キャッシュなしでビルド

2.マルチプラットフォームビルド(buildx)

  • docker buildx ls – buildxビルダー一覧を表示
  • docker buildx create --name <builder> – 新しいビルダーを作成
  • docker buildx use <builder> – ビルダーを切り替え
  • docker buildx build --platform linux/amd64,linux/arm64 -t <image> . – マルチプラットフォームビルド

7.システム管理

1.システム情報・監視

  • docker system df – ディスク使用量を表示
  • docker system info – Dockerシステムの詳細情報を表示
  • docker events – Dockerイベントをリアルタイム表示
  • docker version – Docker のクライアントとサーバー情報を表示

2.システム整理

  • docker system prune – 未使用リソースを一括削除
  • docker system prune -a – 全未使用リソースを削除(イメージ含む)
  • docker system prune -a --volumes – ボリュームも含めて全削除

8.Docker Compose

1.サービス管理

  • docker compose up – サービスを起動(フォアグラウンド)
  • docker compose up -d – サービスをバックグラウンドで起動
  • docker compose down – サービスを停止し、コンテナとネットワークを削除
  • docker compose stop – サービスを停止(コンテナは残す)
  • docker compose start – 停止中のサービスを開始

2.サービス操作

  • docker compose ps – Composeサービスの状態を表示
  • docker compose logs – 全サービスのログを表示
  • docker compose logs -f <service> – 特定サービスのログを追跡
  • docker compose exec <service> /bin/bash – サービス内でシェル実行
  • docker compose build – サービスのイメージを再ビルド
  • docker compose pull – サービスのイメージを更新

9.便利なオプション・フラグ

1.共通オプション

  • -d, --detach – バックグラウンドで実行
  • -i, --interactive – 標準入力を開いたままにする
  • -t, --tty – 疑似TTYを割り当て
  • --name <name> – コンテナに名前を付ける
  • --rm – コンテナ終了時に自動削除

2.ポート・ボリューム

  • -p <host>:<container> – ポートマッピング
  • -v <host>:<container> – ボリュームマウント
  • --mount type=bind,source=<host>,target=<container> – バインドマウント
  • --mount type=volume,source=<volume>,target=<container> – ボリュームマウント

3.環境・リソース

  • -e <VAR>=<value> – 環境変数を設定
  • --env-file <file> – 環境変数ファイルを指定
  • --memory <size> – メモリ制限
  • --cpus <number> – CPU制限

10.よく使用される組み合わせ例

# 開発環境でのコンテナ起動(ボリュームマウント付き)
docker run -it --rm -v $(pwd):/app -w /app node:18 bash

# Webアプリケーションの起動(ポートマッピング付き)
docker run -d -p 8080:80 --name my-app nginx

# データベースコンテナの起動(永続化付き)
docker run -d --name mysql-db -e MYSQL_ROOT_PASSWORD=password -v mysql-data:/var/lib/mysql mysql:8.0

# 全体クリーンアップ
docker system prune -a --volumes

このコマンド一覧は、2025年9月時点での最新のDockerコマンドを包括的にカバーしており、基本操作から高度な管理機能まで含んでいます。日常的な開発作業において参考にしてください。

コメント