

Docker runコマンドの実行方法
この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。
Dockerのメモを整理していて、docker runの実行方法をまとめておく。
インタラクティブに実行する
docker run -it <image-name>-i(標準入力を開いたままにする)と -t(疑似TTYを割り当てる)の組み合わせ。コンテナにアタッチした状態でシェル操作したい時に使う。
バックグラウンドで実行する
docker run -itd <image-name>-d(デタッチ実行)を追加した形。ただし -d を付けた時点でコンテナはバックグラウンドに回るので、-itを同時に付ける意味は「後でdocker attachした時にTTY付きでインタラクティブに使えるようにしておく」程度でしかない。
単にバックグラウンドで起動したいだけなら
docker run -d <image-name>で十分で、-itは必須ではない。
逆に、bashのようなシェルをエントリーポイントにしていてTTYがないとすぐ終了してしまうイメージの場合は、-itdにしておくと安全らしい(この挙動は未確認)。
使い分けの結論
- 後でアタッチしてインタラクティブに使う前提があるなら
-itd - そうでないなら
-dだけで良い
ついでによく使うオプション
--rm: コンテナ終了時に自動削除。動作確認用の使い捨てコンテナで便利--name <container-name>: コンテナに名前を付けて管理しやすくする-p <host>:<container>: ポートフォワーディング-v <host-path>:<container-path>: ボリュームマウント