對於執行在後台的docker容器,我們經常需要做的事情是進入到容器中,docker為我們提供了docker exec 、docker attach 命令,並且還提供了nsenter工具,外部工具供我們使用。docker attach存在的問題是:當多個視窗同時attach到同乙個容器時,所有的視窗都會同步的顯示,假如其中的乙個視窗發生阻塞時,其它的視窗也會阻塞,docker attach命令可以說是最不方便的進入後台docker容器的方法。docker exec命令是在docker 1.3之後增加的乙個比docker attach命令更加方便的命令。和docker exec差不多方便的命令是nsenter工具。
在使用nsenter命令之前需要獲取到docker容器的程序,然後再使用nsenter工具進去到docker容器中,具體的使用方法如下:
$
docker
inspect-f
}容器名或者容器id
#每乙個容器都有
.state
.pid,所以這個命令除了容器的id需要我們根據dockerps-
a去查詢,其他的全部為固定的格式
$nsenter--
target
上面查到的程序id--
mount--
uts-
-ipc--
net-
-pid
#輸入該命令便進入到容器中
解釋nsenter指令中程序id之後的引數的含義:
* –mount引數是進去到mount namespace中
* –uts引數是進入到uts namespace中
* –ipc引數是進入到system v ipc namaspace中
* –net引數是進入到network namespace中
* –pid引數是進入到pid namespace中
* –user引數是進入到user namespace中
在linux中,最愛簡單的檢視指定命令引數含義的辦法是在終端中輸入:
$ nsenter --help #會回顯所有與該命令有關的引數
$ man nsenter #能查到更加詳細的使用示例和引數說明
Docker容器的進入方式
在使用docker建立了容器之後,大家比較關心的就是如何進入該容器了,其實進入docker容器有好幾多種方式,這裡我們就講一下常用的幾種進入docker容器的方法。進入docker容器比較常見的幾種做法如下 docker提供了attach命令來進入docker容器。接下來我們建立乙個守護態的dock...
docker exec 進入停止的容器
遇到乙個情況,容器裡的應用啟動拋異常,導致容器很快就結束了 或者構建映象時失敗了.想到容器裡看看發生了什麼事 通過簡單的 docker logs 可能無法解決問題 如果乙個容器已經stop,那麼你是無法docker exec進去的.會提示error response from daemon cont...
docker進入容器的方式
通過docker建立守護執行 在使用 d引數時 的容器時,容器啟動後會進入後台。使用者無法看到容器中的資訊。某些時候如果需要進入容器進行操作,有多種方法,包括使用docker attach命令 docker exec命令,以及nsenter工具等。docker attach 容器名稱 id 在使用a...