STEP 5:Dockerの基本コマンド

🐳 STEP 5: Dockerの基本コマンド

docker run、stop、start、rm、logs、ps – 実務で必須のコマンドを完全マスター

📋 このステップで学ぶこと

  • docker run の詳細なオプションと使い方
  • docker stop / start / restart でコンテナのライフサイクルを制御
  • docker rm でコンテナを削除する方法と注意点
  • docker ps でコンテナの状態を確認・フィルタリング
  • docker logs でログを確認・トラブルシューティング
  • Nginxコンテナを使った実践演習

🚀 1. docker run – コンテナを起動する

1-1. docker runとは?

docker runは、イメージからコンテナを作成して起動する最も重要なコマンドです。
STEP 4でも使いましたが、ここでより詳しく学んでいきます。

【docker run の基本構文】 docker run [オプション] イメージ名[:タグ] [コマンド] [引数] 例: docker run nginx # 最小構成 docker run -d –name web nginx # オプション付き docker run ubuntu echo “Hello” # コマンド指定

1-2. docker runの内部動作

docker runは、実は内部で2つの操作を行っています。

📚 docker run = docker create + docker start
docker run nginx # 上記は以下と同じ動作: docker create nginx # コンテナを作成(停止状態) docker start [ID] # コンテナを起動

通常はdocker runを使えば十分ですが、
「作成だけして後で起動」したい場合はdocker createを使います。

1-3. よく使うオプション一覧

docker runには多くのオプションがあります。特に重要なものを見ていきましょう。

オプション 意味 使用例と説明
-d デタッチモード バックグラウンドで実行。コンテナ起動後すぐにプロンプトに戻る
--name コンテナに名前を付ける --name my-nginx 後から操作しやすくなる
-p ポートマッピング -p 8080:80 ホスト8080番→コンテナ80番
-e 環境変数を設定 -e DB_HOST=localhost
-v ボリュームマウント -v /host/path:/container/path ファイル共有
-it 対話モード -i(入力)+ -t(端末)を組み合わせ
--rm 終了時に自動削除 一時的なコンテナに便利。停止と同時に削除
--network ネットワーク指定 --network my-net 特定のネットワークに接続
--restart 再起動ポリシー --restart always 異常終了時に自動再起動

1-4. 実践:Nginxコンテナを起動

Webサーバーの「Nginx」を使って、実際にコンテナを起動してみましょう。

docker run -d –name my-nginx -p 8080:80 nginx
📝 コマンドの各部分の意味
  • docker run :コンテナを作成して起動
  • -d :バックグラウンドで実行(detached mode)
  • --name my-nginx :コンテナ名を「my-nginx」に設定
  • -p 8080:80 :ホストの8080番ポートをコンテナの80番ポートに接続
  • nginx :使用するイメージ名(タグ省略時はlatest)

実行すると、以下のような出力が表示されます。

Unable to find image ‘nginx:latest’ locally latest: Pulling from library/nginx a2abf6c4d29d: Pull complete a9edb18cadd1: Pull complete 589b7251471a: Pull complete 186b1aaa4aa6: Pull complete b4df32aa5a72: Pull complete a0bcbecc962e: Pull complete Digest: sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31 Status: Downloaded newer image for nginx:latest 9a8b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2

動作確認

ブラウザで http://localhost:8080 にアクセスしてみてください。
「Welcome to nginx!」というページが表示されれば成功です。

コマンドラインで確認する場合は、curlコマンドを使います。

curl http://localhost:8080
<!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> … </html>

1-5. docker runのバリエーション

様々なシナリオでのdocker runの使い方を見てみましょう。

① ワンタイムコマンドの実行

コマンドを実行したら自動的に削除される一時的なコンテナを作成します。

docker run –rm ubuntu echo “Hello, Docker!”
📝 コマンドの意味
  • --rm :コンテナ終了時に自動削除
  • ubuntu :Ubuntuイメージを使用
  • echo "Hello, Docker!" :コンテナ内で実行するコマンド

このコマンドを実行すると「Hello, Docker!」と表示され、コンテナは自動削除されます。
一時的なテストやスクリプト実行に便利です。

Hello, Docker!

② 対話モードでBashを起動

コンテナ内で対話的にコマンドを実行したい場合に使います。

docker run -it ubuntu bash
📝 コマンドの意味
  • -i :標準入力を開いたままにする(interactive)
  • -t :疑似ターミナルを割り当てる(tty)
  • -it :上記2つの組み合わせで、対話的な操作が可能に
  • bash :起動時に実行するコマンド(シェルを起動)
root@a1b2c3d4e5f6:/# # コンテナ内でLinuxコマンドを実行できる root@a1b2c3d4e5f6:/# ls bin boot dev etc home lib … # 終了するには exit を入力 root@a1b2c3d4e5f6:/# exit

③ 環境変数を指定して起動

アプリケーションに設定を渡す場合に使います。

docker run -e MY_NAME=Taro -e MY_ENV=development ubuntu env
📝 コマンドの意味
  • -e MY_NAME=Taro :環境変数MY_NAMEに「Taro」を設定
  • -e MY_ENV=development :環境変数MY_ENVに「development」を設定
  • env :コンテナ内で環境変数一覧を表示
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOSTNAME=a1b2c3d4e5f6 MY_NAME=Taro MY_ENV=development HOME=/root

④ 複数のオプションを組み合わせた実践的な例

docker run -d \ –name my-app \ -p 3000:3000 \ -e NODE_ENV=production \ -v $(pwd)/app:/app \ –restart unless-stopped \ node:18
📝 各オプションの意味
  • -d :バックグラウンドで実行
  • --name my-app :コンテナ名を設定
  • -p 3000:3000 :ポート3000を公開
  • -e NODE_ENV=production :本番環境として設定
  • -v $(pwd)/app:/app :現在のディレクトリのappフォルダをマウント
  • --restart unless-stopped :手動停止以外では自動再起動
  • node:18 :Node.js v18のイメージを使用

⏸️ 2. docker stop – コンテナを停止する

2-1. docker stopの基本

docker stopは、実行中のコンテナを停止するコマンドです。

docker stop my-nginx
📝 コマンドの意味
  • docker stop :コンテナを停止するコマンド
  • my-nginx :停止するコンテナ名(またはコンテナID)
my-nginx

成功すると、停止したコンテナ名が表示されます。

2-2. 停止の仕組み(シグナル)

docker stopは、単純にコンテナを止めるのではなく、正常終了の機会を与える仕組みになっています。

【docker stop の内部動作】 ① docker stop my-nginx を実行 ↓ ② コンテナに SIGTERM シグナルを送信 (「終了してください」という通知) ↓ ③ アプリケーションが終了処理を実行 (ファイルの保存、接続のクローズなど) ↓ ④ デフォルト10秒間待機 ↓ ⑤ まだ終了していない場合、SIGKILL を送信 (強制終了)
💡 SIGTERMとSIGKILLの違い
  • SIGTERM:「終了してください」という丁寧なお願い。アプリは後処理ができる
  • SIGKILL:「今すぐ終了しろ」という強制命令。後処理なしで即終了

2-3. タイムアウトを指定する

待機時間を変更したい場合は、-tオプションを使います。

# 30秒待ってから強制終了 docker stop -t 30 my-nginx # 待機なしで即座に停止を試みる docker stop -t 0 my-nginx
📝 -t オプションの意味

-t または --time で、SIGTERMを送ってからSIGKILLを送るまでの待機秒数を指定します。
データベースなど終了処理に時間がかかるアプリケーションでは、長めに設定することがあります。

2-4. 複数のコンテナを一度に停止

# 複数のコンテナ名を指定 docker stop container1 container2 container3 # 実行中の全コンテナを停止 docker stop $(docker ps -q)
📝 $(docker ps -q) の意味

docker ps -q は実行中のコンテナIDのみを出力します。
$() でその出力を別のコマンドに渡しています。
つまり「実行中の全コンテナのIDを取得して、それらを停止」という意味です。

2-5. docker stop と docker kill の違い

✅ docker stop(推奨)
  • まずSIGTERMを送信
  • アプリに終了処理の機会を与える
  • 10秒後に強制終了
  • データ損失のリスクが低い
⚠️ docker kill
  • 即座にSIGKILLを送信
  • 終了処理の機会なし
  • すぐに停止する
  • データ損失の可能性あり
# 通常はstopを使用 docker stop my-nginx # 応答しないコンテナを強制終了する場合のみkillを使用 docker kill my-nginx

▶️ 3. docker start – コンテナを再開する

3-1. docker startの基本

docker startは、停止しているコンテナを再開するコマンドです。

docker start my-nginx
📝 コマンドの意味
  • docker start :停止中のコンテナを起動するコマンド
  • my-nginx :起動するコンテナ名(またはコンテナID)
my-nginx

3-2. docker run と docker start の違い

この2つのコマンドは混同しやすいので、違いを明確にしておきましょう。

項目 docker run docker start
動作 新しいコンテナを作成して起動 既存のコンテナを再開
対象 イメージを指定 コンテナを指定
オプション 各種設定が可能(-p, -e, -v等) 以前のrun時の設定を引き継ぐ
使用場面 初めてコンテナを作る時 停止したコンテナを再び使う時
💡 覚え方

docker run = 「新規作成 + 起動」(イメージからコンテナを作る)
docker start = 「再開」(既存のコンテナを起動する)

3-3. よく使うオプション

# ログを表示しながら起動(アタッチモード) docker start -a my-nginx # 対話モードで起動 docker start -ai my-container
📝 オプションの意味
  • -a :アタッチモード。コンテナの標準出力をターミナルに表示
  • -i :標準入力を開いたまま維持(対話的な操作用)

3-4. docker restart – 再起動

docker restartは、stop + startを一度に行うコマンドです。

docker restart my-nginx
📝 docker restart の動作

内部的には以下の順序で実行されます:
① docker stop my-nginx(停止)
② docker start my-nginx(起動)

タイムアウトを指定することもできます。

# 停止時の待機時間を30秒に設定 docker restart -t 30 my-nginx

3-5. コンテナのライフサイクル図解

【コンテナのライフサイクル】 docker create ↓ ┌──────────────────────────────────┐ │ Created(作成済み) │ └──────────────────────────────────┘ ↓ docker start ┌──────────────────────────────────┐ │ Running(実行中) │ ←─┐ │ │ │ docker restart │ ・アプリケーションが動作中 │ │ │ ・ポートでアクセス可能 │ ──┘ └──────────────────────────────────┘ ↓ docker stop ┌──────────────────────────────────┐ │ Stopped(停止中) │ │ │ │ ・データは保持されている │ │ ・リソースは解放 │ └──────────────────────────────────┘ ↓ docker rm [削除完了] (データも消失)

🗑️ 4. docker rm – コンテナを削除する

4-1. docker rmの基本

docker rmは、コンテナを削除するコマンドです。
デフォルトでは、停止中のコンテナのみ削除できます。

# まず停止してから削除 docker stop my-nginx docker rm my-nginx
📝 コマンドの意味
  • docker rm :コンテナを削除するコマンド(remove の略)
  • my-nginx :削除するコンテナ名(またはコンテナID)
my-nginx my-nginx

4-2. よく使うオプション

オプション 意味 使用例
-f 強制削除 実行中のコンテナも削除可能に
-v ボリュームも削除 関連するボリュームも一緒に削除

実行中のコンテナを強制削除

# -f オプションで強制削除(停止せずに削除) docker rm -f my-nginx
⚠️ -f オプションの注意点

-f(force)を使うと、実行中のコンテナでも即座に削除されます。
アプリケーションに終了処理の機会を与えないため、データ損失の可能性があります。
通常はdocker stopしてからdocker rmすることを推奨します。

4-3. 複数のコンテナを一度に削除

# 複数のコンテナ名を指定 docker rm container1 container2 container3 # 停止中のコンテナを全て削除 docker rm $(docker ps -a -q -f status=exited)
📝 コマンドの意味
  • docker ps -a -q -f status=exited の意味:
  • -a :全てのコンテナ(停止中も含む)
  • -q :IDのみを出力(quiet mode)
  • -f status=exited :停止中のコンテナのみフィルタ

4-4. docker container prune – 一括クリーンアップ

停止中のコンテナを一括で削除する便利なコマンドです。

# 停止中のコンテナを全削除(確認あり) docker container prune
WARNING! This will remove all stopped containers. Are you sure you want to continue? [y/N] y Deleted Containers: a1b2c3d4e5f6… d7e8f9a0b1c2… Total reclaimed space: 150MB
# 確認なしで削除 docker container prune -f

4-5. docker system prune – 総合クリーンアップ

コンテナだけでなく、未使用のイメージやネットワークもまとめて削除できます。

# 未使用のコンテナ、ネットワーク、イメージを削除 docker system prune # ボリュームも含めて全削除(注意:データも消える) docker system prune -a –volumes
⚠️ docker rm の注意点

コンテナを削除すると、コンテナ内のデータも完全に削除されます。
重要なデータは、ボリュームバインドマウント
ホストマシンに保存しておく必要があります(STEP 10で学習)。

📋 5. docker ps – コンテナ一覧を表示

5-1. docker psの基本

docker psは、コンテナの一覧を表示するコマンドです。
デフォルトでは、実行中のコンテナのみ表示されます。

docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9a8b2c3d4e5f nginx “/docker-entrypoint.…” 10 minutes ago Up 10 minutes 0.0.0.0:8080->80/tcp my-nginx a1b2c3d4e5f6 postgres “docker-entrypoint.s…” 2 hours ago Up 2 hours 0.0.0.0:5432->5432/tcp my-postgres

5-2. 出力項目の詳細説明

項目 説明
CONTAINER ID コンテナを識別する一意のID(64文字中の先頭12文字を表示)
IMAGE コンテナの元になったイメージ名とタグ
COMMAND コンテナ起動時に実行されたコマンド(長い場合は省略)
CREATED コンテナが作成されてからの経過時間
STATUS 現在の状態(Up=実行中、Exited=停止、Created=作成済み未起動)
PORTS ポートマッピング情報(ホスト:コンテナ/プロトコル)
NAMES コンテナ名(–nameで指定、未指定時はランダム生成)

5-3. よく使うオプション

停止中のコンテナも含めて表示

docker ps -a
📝 -a オプションの意味

-a または --all を付けると、停止中のコンテナも含めて全て表示されます。
停止中のコンテナは STATUS が「Exited (終了コード)」と表示されます。

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9a8b2c3d4e5f nginx “/docker-entrypoint.…” 10 minutes ago Up 10 minutes … my-nginx a1b2c3d4e5f6 ubuntu “bash” 2 hours ago Exited (0) 1 hour ago my-ubuntu b2c3d4e5f6a7 redis “docker-entrypoint.s…” 3 hours ago Exited (137) 2 hours ago my-redis

その他の便利なオプション

# コンテナIDのみ表示(スクリプトで使いやすい) docker ps -q # 最新のN個のコンテナを表示 docker ps -n 3 # コンテナのサイズも表示 docker ps -s # 出力を省略せずに表示 docker ps –no-trunc

5-4. フィルタリング機能

-fオプションで条件を指定して、特定のコンテナだけを表示できます。

# 停止中のコンテナのみ docker ps -a -f “status=exited” # 実行中のコンテナのみ docker ps -f “status=running” # 名前で絞り込み(部分一致) docker ps -a -f “name=nginx” # イメージで絞り込み docker ps -a -f “ancestor=nginx” # 複数のフィルタを組み合わせ docker ps -a -f “status=exited” -f “name=test”
📝 よく使うフィルタ
  • status :コンテナの状態(running, exited, created, paused)
  • name :コンテナ名(部分一致)
  • ancestor :元になったイメージ
  • label :ラベル
  • exited :終了コード(0=正常、それ以外=エラー)

5-5. カスタムフォーマット

--formatオプションで、表示する項目をカスタマイズできます。

# 名前、状態、ポートのみ表示 docker ps –format “table {{.Names}}\t{{.Status}}\t{{.Ports}}”
NAMES STATUS PORTS my-nginx Up 10 minutes 0.0.0.0:8080->80/tcp my-postgres Up 2 hours 0.0.0.0:5432->5432/tcp
# JSON形式で出力(スクリプト処理向け) docker ps –format “{{json .}}”
💡 便利なエイリアス設定

よく使うコマンドは、シェルの設定ファイルにエイリアスを登録しておくと便利です。

# ~/.bashrc または ~/.zshrc に追加 alias dps=’docker ps’ alias dpsa=’docker ps -a’ alias dpsq=’docker ps -q’

📝 6. docker logs – ログを確認する

6-1. docker logsの基本

docker logsは、コンテナの標準出力・標準エラーを表示するコマンドです。
トラブルシューティングやデバッグに欠かせません。

docker logs my-nginx
📝 コマンドの意味
  • docker logs :コンテナのログを表示するコマンド
  • my-nginx :ログを表示するコンテナ名(またはコンテナID)
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf … 2024/01/15 10:30:45 [notice] 1#1: start worker processes 2024/01/15 10:30:45 [notice] 1#1: start worker process 29

6-2. リアルタイムでログを監視

-fオプションを使うと、新しいログが出力されるたびにリアルタイムで表示されます。

docker logs -f my-nginx
📝 -f オプションの意味

-f または --follow は、Linuxの tail -f と同じ動作です。
新しいログが出力されると、自動的に表示が追加されます。
終了するには Ctrl + C を押します。

6-3. よく使うオプション

オプション 説明と使用例
-f リアルタイムでログを表示し続ける
--tail N 最新のN行のみ表示。例:--tail 100
-t タイムスタンプを付けて表示
--since 指定した時刻以降のログを表示。例:--since 1h
--until 指定した時刻までのログを表示

実践的な使用例

# 最新の100行をリアルタイムで表示 docker logs -f –tail 100 my-nginx # タイムスタンプ付きで表示 docker logs -t my-nginx # 過去1時間のログを表示 docker logs –since 1h my-nginx # 特定の日時以降のログを表示 docker logs –since “2024-01-15T10:00:00” my-nginx # 特定の日時までのログを表示 docker logs –until “2024-01-15T12:00:00” my-nginx

6-4. ログの検索と保存

grepコマンドと組み合わせて、特定のキーワードを検索できます。

# エラーを含む行を検索 docker logs my-nginx 2>&1 | grep -i error # 404エラーを検索 docker logs my-nginx 2>&1 | grep “404” # ログをファイルに保存 docker logs my-nginx > nginx.log 2>&1 # ログの行数をカウント docker logs my-nginx 2>&1 | wc -l
📝 2>&1 の意味

2>&1 は、標準エラー出力(2)を標準出力(1)にリダイレクトする意味です。
これにより、両方の出力を一緒に処理できます。

6-5. ログドライバーの設定

ログの保存先や形式を変更することもできます。

# ログサイズの上限を設定してコンテナを起動 docker run -d –name my-app \ –log-opt max-size=10m \ –log-opt max-file=3 \ nginx
📝 ログオプションの意味
  • --log-opt max-size=10m :1ファイルあたり最大10MB
  • --log-opt max-file=3 :最大3ファイルでローテーション

これにより、ログが肥大化してディスクを圧迫することを防げます。

⚠️ ログの肥大化に注意

ログは放置するとディスク容量を圧迫します。
本番環境では必ずログローテーションを設定しましょう。

💪 7. 練習問題

ここまで学んだコマンドを使って、練習問題に取り組みましょう。

練習問題 1 基礎

Nginxコンテナを起動してください

要件:

  • コンテナ名:web-server
  • ポート:ホストの8888番をコンテナの80番にマッピング
  • バックグラウンドで実行
【解答】
docker run -d –name web-server -p 8888:80 nginx

-dでバックグラウンド実行、--nameで名前指定、-pでポートマッピングします。

練習問題 2 基礎

実行中のコンテナを確認してください

web-serverが実行中であることを確認し、STATUS、PORTS、NAMESを確認してください。

【解答】
docker ps

出力で「STATUS」が「Up」、「PORTS」が「0.0.0.0:8888->80/tcp」、「NAMES」が「web-server」であることを確認します。

練習問題 3 基礎

コンテナのログをリアルタイムで確認してください

web-serverのログをリアルタイムで表示し、ブラウザで http://localhost:8888 にアクセスしてアクセスログが表示されることを確認してください。

【解答】
docker logs -f web-server

ブラウザでアクセスすると、「GET / HTTP/1.1」のようなアクセスログが表示されます。
Ctrl+C でログ表示を終了します。

練習問題 4 基礎

コンテナを停止・再開・削除してください

以下の順序で操作してください:

  1. web-serverを停止
  2. 停止を確認(docker ps -a)
  3. web-serverを再開
  4. 再開を確認
  5. web-serverを停止して削除
【解答】
# 1. 停止 docker stop web-server # 2. 停止を確認 docker ps -a # 3. 再開 docker start web-server # 4. 再開を確認 docker ps # 5. 停止して削除 docker stop web-server docker rm web-server
練習問題 5 応用

複数のNginxコンテナを起動してください

要件:

  • nginx1: ポート8001
  • nginx2: ポート8002
  • nginx3: ポート8003
  • すべてバックグラウンドで実行
【解答】
docker run -d –name nginx1 -p 8001:80 nginx docker run -d –name nginx2 -p 8002:80 nginx docker run -d –name nginx3 -p 8003:80 nginx # 確認 docker ps
練習問題 6 応用

名前でフィルタリングしてコンテナを表示してください

「nginx」を含むコンテナのみを表示してください。

【解答】
docker ps -f “name=nginx”

-f "name=nginx" で名前に「nginx」を含むコンテナのみ表示されます。

練習問題 7 応用

全てのNginxコンテナを一度に停止・削除してください

nginx1、nginx2、nginx3を効率的に停止・削除してください。

【解答】
# 方法1:名前を列挙 docker stop nginx1 nginx2 nginx3 docker rm nginx1 nginx2 nginx3 # 方法2:フィルタを使って一括操作 docker stop $(docker ps -q -f “name=nginx”) docker rm $(docker ps -a -q -f “name=nginx”) # 方法3:強制削除(停止と削除を一度に) docker rm -f nginx1 nginx2 nginx3
練習問題 8 応用

一時的なコンテナでコマンドを実行してください

Ubuntuコンテナで「Hello from Ubuntu!」と表示し、コンテナは自動削除されるようにしてください。

【解答】
docker run –rm ubuntu echo “Hello from Ubuntu!”

--rm オプションにより、コマンド実行後にコンテナは自動削除されます。
docker ps -a で確認しても、このコンテナは表示されません。

練習問題 9 発展

環境変数を設定してコンテナを起動してください

要件:

  • イメージ:nginx
  • コンテナ名:env-test
  • 環境変数:MY_NAME=Taro、MY_ENV=production
  • 起動後、コンテナ内で環境変数を確認
【解答】
# コンテナを起動 docker run -d –name env-test \ -e MY_NAME=Taro \ -e MY_ENV=production \ nginx # 環境変数を確認 docker exec env-test env | grep MY_ # 出力: # MY_NAME=Taro # MY_ENV=production # 後片付け docker rm -f env-test
練習問題 10 発展

カスタムフォーマットでコンテナ情報を表示してください

実行中のコンテナの「名前」「状態」「使用イメージ」のみを表形式で表示してください。

【解答】
# まずテスト用のコンテナを起動 docker run -d –name test1 -p 8001:80 nginx docker run -d –name test2 -p 8002:80 nginx # カスタムフォーマットで表示 docker ps –format “table {{.Names}}\t{{.Status}}\t{{.Image}}” # 出力例: # NAMES STATUS IMAGE # test1 Up 10 seconds nginx # test2 Up 5 seconds nginx # 後片付け docker rm -f test1 test2

📝 STEP 5 のまとめ

✅ このステップで学んだこと
  • docker run:イメージからコンテナを作成・起動(-d, –name, -p, -e, -v, -it, –rm)
  • docker stop:コンテナを正常停止(SIGTERMを送信)
  • docker start:停止中のコンテナを再開
  • docker restart:stop + start を一度に実行
  • docker rm:コンテナを削除(-f で強制削除)
  • docker ps:コンテナ一覧を表示(-a, -q, -f でフィルタリング)
  • docker logs:ログを確認(-f でリアルタイム、–tail で行数指定)
📊 コマンド早見表
コマンド 主な用途
docker run -d --name X -p Y:Z image バックグラウンドでコンテナを起動
docker ps 実行中のコンテナを確認
docker ps -a 全てのコンテナを確認(停止中含む)
docker logs -f X ログをリアルタイムで確認
docker stop X コンテナを停止
docker start X コンテナを再開
docker rm X コンテナを削除
docker rm -f X 実行中でも強制削除
💡 重要ポイント

このSTEPで学んだ6つのコマンドが、Dockerの基本中の基本です。
実務では毎日のように使うコマンドなので、確実にマスターしましょう。

特にdocker runのオプション(-d、–name、-p、-e、-v、–rm)は
様々な場面で使うので、しっかり覚えておいてください。

🎯 次のステップの予告

次のSTEP 6では、「Dockerイメージの仕組み」を学びます。

  • イメージとコンテナの違い
  • レイヤー構造の理解
  • ベースイメージとは
  • イメージサイズの最適化

Dockerの内部構造を深く理解して、より効率的にコンテナを扱えるようになりましょう!

📝

学習メモ

Docker・コンテナ技術入門 - Step 5

📋 過去のメモ一覧
#artnasekai #学習メモ
LINE