目次
1. はじめに
docker run
コマンドの実行パターンをまとめます。
但し、複雑な使い方はしません。
2. docker run コマンドについて
docker run
コマンドは、引数で指定されたイメージを元にコンテナを生成し、同じく引数で指定されたコマンドを使ってこのイメージを開始します。
フォーマット
docker run
コマンドのフォーマットは以下になります。
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
主なオプション
docker run
コマンドの主なオプションを表にしました。
オプション | 説明 |
---|---|
-i |
|
-t |
|
–rm |
|
-v |
|
-w |
|
参考
3. コンテナの状態遷移図
コンテナの主要な状態だけを使って遷移図を書いてみました。
Up や Exited というのは、docker container ls
コマンドを実行すると STATUS列に表示される状態の名前です。Up は稼働中、Exited は停止中といった意味になります。
4. 特定のコマンドを実行する場合
4-1. インタラクティブな処理がない場合
php:latest というイメージを利用して、php コマンドを実行する例です。
docker run --rm -v $(pwd):/app -w /app php:latest php hello.php
--rm
を付けておけば、コマンド終了時にコンテナが自動的に削除されます。
4-2. インタラクティブな処理がある場合
php:latest というイメージを利用して、php コマンドを実行する例です。
docker run -it --rm -v $(pwd):/app -w /app php:latest php hello.php
- インタラクティブなコマンドを実行する場合は、
-it
オプションを指定します。
5. サーバー(デーモン)を動かす場合
5-1. サーバーをフォアグラウンドで起動する
php:apache というイメージを利用して、Apache + PHP をフォアグラウンドで起動します。
docker run --rm -p8080:80 -v $(pwd):/var/www/html php:apache
--rm
は任意です。
5-2. サーバーをバックグラウンドで起動する
php:apache というイメージを利用して、Apache + PHP をバックグラウンドで起動する
docker run -d -p8080:80 php:apache
-d
は必須です。
6. Linux のシェルに入る場合
alpine:latest というイメージを利用して、apline のシェルに入る場合
docker run -it alpine:latest /bin/ash
- インタラクティブなやり取りになるので、
-it
を指定します。