Docker Runコマンドの基本
docker runコマンドの必須フラグ(-d、-it、--name、-p、-v、-e)をマスターしましょう。コンテナの起動、ポートマッピング、ボリュームマウント、環境変数の設定方法を学びます。
Container Lifecycle
詳細な説明
docker runを理解する
docker runコマンドはDockerでの作業の基盤です。イメージから新しいコンテナを作成し、一つのステップで起動します。
必須フラグ
デタッチドモード(-d): コンテナをバックグラウンドで実行し、ターミナルを解放します。
docker run -d --name web nginx:alpine
インタラクティブモード(-it): コンテナ内でインタラクティブシェルを提供します。
docker run -it ubuntu:22.04 bash
ポートマッピング(-p): ホストポートをコンテナポートにマッピングします。
docker run -d -p 8080:80 nginx:alpine
ボリュームマウント(-v): ホストディレクトリまたは名前付きボリュームをコンテナにマウントします。
docker run -d -v ./data:/app/data my-app:latest
環境変数(-e): 環境変数をコンテナに渡します。
docker run -d -e DATABASE_URL=postgres://... my-app:latest
--rmによる自動クリーンアップ
一時的なコンテナ(テスト、デバッグ、ワンタイムタスク)には--rmを使用して、終了時に自動的にコンテナを削除します:
docker run --rm -it python:3.12 python -c "print('Hello')"
コンテナの命名
管理を容易にするため、常に--nameでコンテナに名前を付けましょう:
docker run -d --name postgres-dev -p 5432:5432 -e POSTGRES_PASSWORD=secret postgres:16
--nameを指定しないと、Dockerはquirky_mendelのようなランダムな名前を割り当てるため、後でコンテナを参照するのが難しくなります。
ユースケース
開発中のアプリケーションコンテナの起動、ローカルでのデータベースサービスの実行、隔離された環境でのワンタイムスクリプトの実行、異なるランタイムバージョンでのプロトタイピング。