
Docker コンテナの状態遷移
Dockerコンテナは、作成から削除までの間に主に5つの状態を遷移する。基本的な流れは 作成(Created) → 実行(Running) → 停止 (Stopped )→ 削除(Removed) であり、状況に応じて 実行中に一時停止(Paused)が挟まる場合がある。

| 状態 | 説明 |
|---|---|
| Created | 作成済みだが起動していない |
| Running | 実行中(プロセスが動作中) |
| Paused | 一時停止中(メモリは保持) |
| Stopped (Exited) | 停止済み(プロセスは終了) |
| Removed | 削除済み |
docker container コマンド
docker container run コマンド
【処理】 イメージからコンテナを作成して即座に起動する
【書式】 docker container run [オプション] イメージ名 [コマンド]
# バックグランド実行
docker container run -d nginx
docker container run --detach nginx
# 対話的モード
docker container run -it ubuntu bash
docker container run -it alpine sh
# コンテナ名指定
docker container run --name web my-image
# ポートマッピング(ホストポート:コンテナポート)
docker container run -p 8080:80 my-image
docker container run --publish 8080:80 my-image
# 環境変数を設定
docker container run -e NODE_ENV=production my-image
docker container run --env NODE_ENV=production my-image
# ボリュームのマウント(ホスト:コンテナ)
docker container run -v /data:/app/data my-image
docker container run --volume /data:/app/data my-image
# ネットワーク指定
docker container run --network mynet my-image
# 終了時に自動削除
docker container run --rm my-image
# 作業ディレクトリ
docker container run -w /app my-image
docker container run --workdir /app my-image
# メモリ制限
docker container run -m 512m my-image
docker container run --memory 512m my-image
# CPU制限
docker container run --cpus 1.5 my-image
# 再起動ポリシー
docker container run --restart always my-image
docker container create コマンド
【処理】 コンテナを作成するだけで、起動はしない
【書式】 docker container create [オプション] イメージ名 [コマンド]
| オプション | 内容 |
|---|---|
| create --name 【例】--name web | コンテナ名指定 |
| create -p / --publish 【例】-p 8080:80 | ポートマッピング(ホストポート:コンテナポート) |
| create -e / --env 【例】-e NODE_ENV=production | 環境変数を設定 |
| create -v / --volume 【例】-v /data:/app/data | ボリュームのマウント(ホスト:コンテナ) |
| create --network 【例】--network mynet | ネットワーク指定 |
| create --rm | 終了時に自動削除 |
| create -w / --workdir 【例】-w /app | 作業ディレクトリ |
| create -m / --memory 【例】-m 512m | メモリ制限 |
| create --cpus 【例】--cpus 1.5 | CPU制限 |
| create --restart 【例】--restart always | 再起動ポリシー |
docker container start コマンド
【処理】 停止中のコンテナを起動する
【書式】 docker container start [オプション] コンテナ名
| オプション | 内容 |
|---|---|
| start -a / --attach | 標準出力/エラーにアタッチ |
| start -i / --interactive | 標準入力を開く |
docker container stop コマンド
【処理】 実行中のコンテナを停止する(正常終了を待つ)
【書式】 docker container stop [オプション] コンテナ名
| オプション | 内容 |
|---|---|
| stop -t / --time 【例】-t 30 | 停止までの待機時間(秒、デフォルト:10) |
docker container pause コマンド
【処理】 コンテナのプロセスを一時停止する
【書式】 docker container pause コンテナ名
docker container unpause コマンド
【処理】 コンテナのプロセスを再開する
【書式】 docker container unpause コンテナ名
docker container rm コマンド
【処理】停止中のコンテナを削除する
【書式】 docker container rm [オプション] コンテナ名
| オプション | 内容 |
|---|---|
| stop -f / --force | 実行中でも強制削除 |
| stop -v / --volumes | 関連する匿名ボリュームも削除 |
docker container ls コマンド
【処理】 コンテナの一覧を表示する
【書式】 docker container ls [オプション]
| オプション | 内容 |
|---|---|
| ls -a / --all | すべて表示(停止中含む) |
| ls -q / --quiet | IDのみ表示 |
| ls -f / --filter 【例】-f status=running | フィルタ条件 |
| ls --format 【例】--format "table {{.Names}}\t{{.Status}}" | 出力フォーマット指定 |
| ls -n 【例】-n 5 | 最新のN個を表示 |
| ls -s / --size | ファイルサイズを表示 |
docker container logsコマンド
【処理】 コンテナのログ(標準出力・標準エラー出力)を表示する
【書式】 docker container logs [オプション] コンテナ名
| オプション | 内容 |
|---|---|
| logs -f / --follow | リアルタイム表示 |
| logs --tail 【例】--tail 100 | 最後のN行を表示 |
| logs -t / --timestamps | タイムスタンプ表示 |
| logs --since 【例】--since 1h | 指定時刻以降 |
| logs --until 【例】--until 5m | 指定時刻まで |
docker container exec コマンド
【処理】 実行中のコンテナ内でコマンドを実行する
【書式】 docker container exec [オプション] コンテナ名 [コマンド]
| オプション | 内容 |
|---|---|
| exec コンテナ名 cat FILE | ファイル確認 |
| exec コンテナ名 tail -f LOG | ログ確認 |
| exec コンテナ名 ps aux | プロセス確認 |
| exec コンテナ名 curl URL | 疎通確認 |
| exec -it 【例】exec -it コンテナ名 bash | 対話的モード |
| exec -d / --detach | バックグラウンド実行 |
| exec -u / --user 【例】exec -u root コンテナ名 bash | 実行ユーザー指定 |
| exec -w / --workdir 【例】-w /app コンテナ名 ls | 作業ディレクトリ指定 |
| exec -e / --env 【例】-e DEBUG=true コンテナ名 npm test | 環境変数設定 |