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のようなランダムな名前を割り当てるため、後でコンテナを参照するのが難しくなります。

ユースケース

開発中のアプリケーションコンテナの起動、ローカルでのデータベースサービスの実行、隔離された環境でのワンタイムスクリプトの実行、異なるランタイムバージョンでのプロトタイピング。

試してみる — Docker CLI Reference

フルツールを開く