コンテナの作成と起動
イメージからコンテナを作成し、起動する
docker container run { image名 }
オプション | 効果 |
---|---|
-i | コンテナへの標準入力を受け付ける |
-t | 標準入力の結果をターミナル形式で出力するようにする |
--name { 任意のコンテナ名 } | コンテナに任意の名称をつける |
--rm | コンテナを起動後直ちに破棄する |
-d | デタッチドモードで起動 |
runコマンドの末尾にコマンドを入力することで起動時に実行するコマンドを変更することができる
何もコマンドを指定しない場合は基本的にbash が実行される
docker image inspect { イメージ名 }
で表示される詳細の中の
Config -> Cmd のなかに設定されているものが初期値に当たる
example
docker container run -it ubuntu:20.04 ls
docker container run hello-world の動作
hello-worldというイメージは /helloというコマンドを実行するだけのもの
処理の流れ
コンテナが作成される (status: created)
↓
コンテナが起動 (status: up)
↓
/helloを実行
↓
コンテナが停止 (status: exited)
上記のように必要な処理が終わり次第、コンテナは停止される
基本的なコマンド
ローカルの起動中のコンテナを一覧表示
docker container ls
オプション | 効果 |
---|---|
-a | 起動中でないコンテナも表示に含める |
コンテナを停止
docker container stop { コンテナ名 or コンテナID }
コンテナを再起動
docker container restart { コンテナ名 or コンテナID }
停止中のコンテナを一件削除
docker container rm { コンテナ名 or コンテナID }
オプション | 効果 |
---|---|
-f | 起動中のコンテナでも強制的に削除する |
停止中のコンテナを一括削除
docker container prune
既存のコンテナにコマンドを実行させる
docker container exec { コンテナ名 or コンテナID } { コマンド }
オプション | 効果 |
---|---|
-i | コンテナへの標準入力を受け付ける |
-t | 標準入力の結果をターミナル形式で出力するようにする |
デタッチドモードとフォアグラウンドモード
デタッチドモードとは、
バックグラウンドでコンテナを起動させるモードのこと
dockerでは起動時に -d をつけない場合は自動的にフォアグラウンドモードになり、
-dをつけた場合にのみデタッチドモードになる
デタッチドモードになっているコンテナに接続する
docker container attach { コンテナ名 or コンテナID }
dockerではオプションを複数つける場合省略して書くことができる
# 省略前
docker container run -i -t -d ubuntu
# 省略後
docker container run -itd ubuntu