docker中的exec和attach命令的區別?

時間 2021-06-20 04:59:19

1樓:bin ruan

docker exec:

Run a command in a running container,翻譯過來就是在乙個正在執行的容器中執行命令,exec是針對已執行的容器例項進行操作,在已執行的容器中執行命令,不建立和啟動新的容器,退出shell不會導致容器停止執行。

docker attach:Attach local standard input, output, and error streams to a running container,翻譯過來,將本機的標準輸入(鍵盤)、標準輸出(螢幕)、錯誤輸出(螢幕)附加到乙個執行的容器,也就是說本機的輸入直接輸到容器中,容器的輸出會直接顯示在本機的螢幕上,如果退出容器的shell,容器會停止執行。

2樓:

(docker> = 1.3)如果我們使用docker attach,我們只能使用乙個shell例項

所以如果我們想用容器的shell的新例項開啟新的終端,我們需要執行docker exec

如果Docker容器是使用/bin/bash命令啟動的,則可以使用attach來訪問它,如果不是,則需要在容器內建立乙個bash例項。

attach 不會在容器中建立程序執行額外的命令,只是附著到容器上.

exec會在執行的容器上建立程序執行新的命令。

docker中的linux容器代表著什麼?

迷茫中前行 容器是乙個與宿主機系統共享核心但是與系統中的其他程序資源相隔離的執行環境。windows10本質上是嵌入了乙個linux核心 建議你直接使用這些容器,再對比非容器服務的區別。而不是看別人的轉述。容器也好,虛擬機器也罷,還有基本的程序,是對計算機資源隔離的不同實現方案。都說容器要比虛擬機器...

Vagrant 和 Docker的使用場景和區別

許成 樓主的提問是不對的,你應該問docker和vm的區別,或者問vagrant和docker compose的區別,而docker是虛擬化技術,而vagrant只是vm編排工具 配角不配 其實,真有人會在生產環境使用vagrant嗎?還必須配合virtualbox或者vmplay虛擬機器才能使用。...

docker在前端開發中的應用有哪些?

水蘇 目前我自己用到的地方 gitlab runner nginx,有時需要啟動乙個靜態服務。雖然nginx有安裝包,但在我的windows上總是出現各種小問題。用docker 則不會。用來當作nvm。家裡的windows電腦裝nvm跑不了,就用docker切換node映象版本來當nvm用。本地搭建...