docker attach 和 docker exec


docker attach

docker attach -- Attach to a running container.

常用選項:

--sig-proxy=true:Proxy all received signals to the process. 當指定--sig-proxy=false時,ctrl+c和ctrl+d 不會傳遞信號給docker進程而關閉容器。

用法:

docker attach [OPTIONS] CONTAINER

docker attach可以attach到一個已經在運行的容器的stdin,然后進行命令執行的動作。

但是需要注意的是,如果直接從這個stdin中exit(ctrl+d),會導致容器的停止。非常不建議使用此命令操作容器。

如果不小心退出了,再次啟動容器,進入容器啟動服務即可。

正確的退出姿勢 --> 組合鍵:Ctrl+P+Q

另外,docker attach 有類似 screen 可以共享屏幕的作用。同時attach到同一個container可以看到同步操作。


docker exec

docker exec -- Run a command in a running container.

用法:

docker exec [OPTIONS] CONTAINER COMMAND

常用選項:

-d, --detach=false:Detached mode: run command in the background. 分離模式,在后台執行COMMAND。
-i, --interactive=false:Keep STDIN open even if not attached. 保持標准輸出。如果不加該選項,執行命令會沒有輸出。
-t, --tty=false:Allocate a pseudo-TTY. 分配一個虛擬終端。

同時使用 -it 選項時,會打開一個跟我們平時使用的TTY一樣的終端。也不會像attach方式因為退出終端,導致整個容器退出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM