那些在后台運行的新建的容器,通常不是我們想要的,我們要進行一些修改,比如安裝服務,創建用戶,查看日志,調整網絡等等,這些操做都要進入容器去進行修改,今天我們來討論如何進入容器。
1.docker attach
通過docker attach可以進入一個正在運行的容器
首先通過docker run -d創建一個容器
通過容器的長ID進入容器,可以看到echo每秒打印的內容
利用docker run -it創建一個容器
通過docker attach進入容器,也可以看到每秒打印的內容
已經進入容器了,那我們如何退出容器呢?
做了一些試驗發現:通過docker run -d方式運行的容器是沒辦法通過ctrl+c或者是ctrl+d來退出的,百度上還有一種方法是ctrl+p+q這種辦法也不能退出,無奈之下,我只能結束這個終端,重新打開一個。。。。。。。。。。
但是通過docker run -it運行的容器就方便了,可以通過ctrl+p+q這種方法保存並退出,ctrl+c和ctrl+d都無法退出,是什么情況????
原因是:-it是以交互式的方式進入或者打開容器的,可以輸入命令;而docker run -d沒有交互式,所以沒辦法輸入
2.進入容器還有一種方法docker exec
使用docker exec進入相同的容器
-it:以交互式的模式打開一個終端,
bash:執行bash
就是打開了一個bash的終端
如何退出:可以使用ctrl+p+q也可以使用ctrl+d,但是ctrl+c不能退出
docker exec -it <container> bash是執行exec最常用的方式
attach和exec的區別
1.attach直接進入容器啟動的終端,不會啟動新的進程;
2.exec可以在容器中打開新的終端,也可以啟動新的進程;
3.如果想查看容器啟動時的命令可以用attach,其他的全部使用exec;