docker容器啟動之後會有相應的linux程序,容器與程序是怎麼樣的對應關係?乙個容器乙個程序嗎,還是乙個容器多個程序?
docker ps
檢視所有已經啟動的容器,從第一列找到乙個[容器id] ,下一步備用;
ps -ef |grep [容器id]
檢視該容器對應的程序資訊,從中找到 程序id,下一步備用;
pstree -ap [程序id]
看到該容器的程序樹資訊。
命令執行結果如下:
從上面截圖中我們發現:
父程序22745是容器的程序,這個程序下面還有多個 bash 子程序。
bash程序實際上是通過docker exec
命令產生的。
由於我之前執行了:
(1) 三次docker exec -it [容器id] bash --login
(2) 兩次docker exec -it [容器id] bash
而且我都沒有退出來,因此啟動5個bash子程序。
截圖中的bash,23576
子程序下面還有乙個python,23599 testwhile.py
的子程序,
這是因為我通過exec bash
進入容器,然後在bash中(即bash,23576
程序)執行了乙個python指令碼,該指令碼是乙個while迴圈,一直未結束。
因此,每乙個容器都會對應乙個程序,執行docker exec
會啟動對應的子程序,在容器bash中啟動程式也會生成該bash的子程序。
以上命令是centos中執行的,可能在其他系統平台有所區別。
docker總結 容器
五 容器的底層技術 attach 與 exec 主要區別如下 docker exec it bash sh是執行 exec 最常用的方式 ps 如果只是為了檢視啟動命令的輸出,可以使用 docker logs 命令 f的作用與tail f類似,能夠持續列印輸出 工具類的容器 測試 docker ru...
docker 實踐總結
一 安裝docker docker要求執行在centos 7上,要求系統為64位,系統核心版本3.10以上 1.uname an 檢視當前系統版本 3.service docker start 啟動docker服務 4.docker version 檢查docker是否安裝成功 二 常用操作 1.映...
docker實踐之容器的匯入與匯出
前言 docker的流行與它對容器的易分享和易移植密不可分。使用者不僅可以把容器提交到公共伺服器上,還可以將容器匯出到本地檔案系統中。同樣,我們也可以將匯出的容器重新匯入到docker環境中去。如果要匯出本地某個容器,可以使用dwww.cppcns.comocker export命令,可以使用doc...