Dockerを使ったことがある人ならこんなことを経験したことがあるかもしれない。 このように実行するとコンテナがすぐに終了してまう。 docker run ubuntu:latest このように「-it」を付けて実行するとコンテナは終了しない。 docker run -it ubuntu:latest そしてそれ以降、おまじないように「-it」をつけていないだろうか? しかし「-it」がなくてもすぐに終了しないコンテナもある。 今回はコンテナをすぐに終了させないために「-it」がなぜ有効なのか、なぜ「-it」が不要なコンテナもあるのか整理しよう。 コンテナが終了する条件 仮想マシンはOSを実行することが目的だ。よってOSがShutdownされると仮想マシンも停止する。 コンテナはプロセスを実行することを目的だ。よってRoot Processと呼ばれるプロセスが終了するとコンテナも終了する。