Dockerの「exit」と「detach」の違い
コンテナから出る時、「exit」と「detach」の2つの方法があります。
exit
exitは完全にプロセスを切るので、STATUSはExitedになります。
再度コンテナを起動するにはdocker restart コンテナID
で起動できます。
root@abf3s2dssddda:/# exit exit (user) :$ docker ps -a CONTAINER ID IMAGE COMMAND STATUS abf3s2dssddda ubuntu "bash" Exited (0) 39 seconds ago
detach
detachは「ctrl + P + Q」でコンテナを出れます。
プロセスは切らないので、STATUSはUpのままです。
※この状態でdocker run~
をしてしまうと新しいプロセスが作られます。
detachしたときのプロセスに入りたい場合はattachを使います。
root@abf3s2dssddda:/# (user) :$ docker ps CONTAINER ID IMAGE COMMAND STATUS abf3s2dssddda ubuntu "bash" Up 15 minutes
どっちがいいの?
exitで出るのが一般的。
プロセスを残したまま出たいときはdetachを用いる。