1. 程式人生 > >docker attach 和 exec 用法區別

docker attach 和 exec 用法區別

linux pre cmd docker容器 pri bin ctr print 區別

attach 用法

$ sudo docker attach 665b4a1e17b6 #by ID
or
$ sudo docker attach loving_heisenberg #by Name
$ root@665b4a1e17b6:/#

就是講你當前terminal 的標準輸入、輸出、錯誤附加到制定的docker容器。
通俗來講就是 當前終端裏可以看到 ENTRYPOINT/CMD 進程的輸出,你發送 CTRL-c 信號(輸入) 直接會終止docker 運行。
如果 ENTRYPOINT/CMD 沒有標準輸出,那麽attach 上去了,什麽也沒有,就好像假死了。

exec 用法
$ sudo docker exec -i -t 665b4a1e17b6 /bin/bash #by ID

or

$ sudo docker exec -i -t loving_heisenberg /bin/bash #by Name
$ root@665b4a1e17b6:/#

在docker 裏面新開了一個bash 進程,在該終端可以通過命令和容器交互,類似於通過ssh和遠程linux server 交互。

所以大多數情況,可以直接使用 docker exec 命令。

 

docker attach 和 exec 用法區別