娜尼的妮妮

导航

Docker exec vs attach 区别

先创建一个ubuntu container

docker run -dit ubuntu

  

docker exec 

docker exec -t <container-id> bash

  

docker attach

docker attach <container-id>

 

docker exec 和docker attach 都可以进到container的shell,  但是有区别。

docker exec在容器内会起一个新的进程,docker attach 只会把标准输出输入连接到容器内的PID1 . Attach就像投屏,如果你从两个终端attach到一个container,当你在一个终端输入的时候,内容会出现在另一个终端,两个终端是连接在同一个tty上的。用attach方式进到container,当从终端退出来的时候,container是会被关闭的。 exec是不会这样的,不同终端连接到不同的tty,退出终端的时候不会关闭container的main process.

posted on 2021-07-29 14:13  娜尼的妮妮  阅读(2048)  评论(0)    收藏  举报