exitdetachの違い

% docker ps      ①動いているプロセスを確認
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

% docker ps -a              ②止まっているプロセス含めて全て確認
CONTAINER ID   IMAGE                    COMMAND                  CREATED             STATUS                           PORTS                                                  NAMES
a390a72e29d7   ubuntu                   "bash"                   About an hour ago   Exited (0) 2 minutes ago                                                                clever_neumann
4a36cf90b2e7   ubuntu                   "bash"                   About an hour ago   Exited (130) About an hour ago                                                          angry_curran
32a488ae863e   hello-world              "/hello"                 About an hour ago   Exited (0) About an hour ago                                                            clever_allen
693ca907f6fa   order_form_app           "entrypoint.sh bash …"   5 days ago          Exited (0) 24 hours ago                                                                 order_form_app_1
ae66d6f030c0   schickling/mailcatcher   "sh -c 'mailcatcher …"   5 days ago          Exited (0) 24 hours ago                                                                 order_form_mailcatcher_1
43aa51f96062   redis:7.0                "docker-entrypoint.s…"   5 days ago          Exited (0) 24 hours ago                                                                 order_form_redis_1
1e5a9d4ac473   get_info_by_sql          "docker-entrypoint.s…"   16 months ago       Exited (255) 8 weeks ago         0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   get_info_by_sql
2805557644bd   ubuntu                   "ls"                     16 months ago       Exited (0) 16 months ago                                                                confident_dewdney
1fecffe609d7   docker/getting-started   "/docker-entrypoint.…"   16 months ago       Exited (255) 8 weeks ago         0.0.0.0:80->80/tcp, :::80->80/tcp                      modest_germain

% docker restart a390a72e29d7      ③dockerのコンテナをupにしてプロセスを作る
a390a72e29d7

~ % docker ps             ④上記でプロセスを起動したので、起動したプロセスが確認できる                    
CONTAINER ID   IMAGE     COMMAND   CREATED             STATUS         PORTS     NAMES
a390a72e29d7   ubuntu    "bash"    About an hour ago   Up 5 seconds             clever_neumann

% docker exec -it a390a72e29d7 bash   ⑤起動したコンテナの中に入れる
root@a390a72e29d7:/# exit                            ⑥プロセスを終了してコンテナから抜ける
exit

% docker ps                 ⑥上記でプロセスを切ってコンテナから抜けたので、プロセスを確認すると無い
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

% docker restart a390a72e29d7      ⑦再度dockerのコンテナをupにしてプロセスを作る
a390a72e29d7

% docker ps                  ⑧上記でプロセスを起動したので、起動したプロセスが確認できる   
CONTAINER ID   IMAGE     COMMAND   CREATED             STATUS          PORTS     NAMES
a390a72e29d7   ubuntu    "bash"    About an hour ago   Up 33 seconds             clever_neumann

% docker attach a390a72e29d7       ⑨上記で起動したプロセスに入る 
root@a390a72e29d7:/# read escape sequence    ⑩ctrlキー + p + qでdetachする

% docker ps                 上記でdetachでコンテナから抜けたがプロセスが残ったままになっている
CONTAINER ID   IMAGE     COMMAND   CREATED             STATUS              PORTS     NAMES
a390a72e29d7   ubuntu    "bash"    About an hour ago   Up About a minute             clever_neumann

exitだとプロセスを切って、コンテナから抜けるがdetachだとプロセスを残したままコンテナから抜けることができる。