Docker ps 是用于查看Docker服務(wù)器中容器狀態(tài)(運(yùn)行/暫停/停止),及批量獲取容器基本信息最常用的指令文搂。ps命令具有很多可用的參數(shù)糖赔,下面將對(duì)其參數(shù)含義和用法做具體的說明&總結(jié)
docker ps :會(huì)列出出正在運(yùn)行的容器信息曹阔。
CONTAINER ID:每個(gè)容器的唯一標(biāo)識(shí)符號(hào)谒麦,自動(dòng)生成。類似于數(shù)據(jù)庫中的主鍵疙挺。
IMAGE :創(chuàng)建容器使用的鏡像名稱钮呀。
COMMAND:運(yùn)行容器時(shí)的命令剑鞍。
CREATED:容器創(chuàng)建的時(shí)間。
STATUS:容器的運(yùn)行狀態(tài),Up 17 hours 指容器已運(yùn)行17小時(shí)。
-created(已創(chuàng)建)
-restarting(重啟中)
-running(運(yùn)行中)
-removing(遷移中)
-paused(暫停)
-exited(停止)
-dead(死亡)
PORTS:容器開放的端口信息鲤拿。
NAME:容器的別名,在運(yùn)行容器執(zhí)行docker run 時(shí)可使用 --name進(jìn)行指定光戈。
docker ps -a :會(huì)列出當(dāng)前服務(wù)器中所有的容器,無論是否在運(yùn)行遂赠。
此時(shí)可以看到久妆,列表STATUS中多了其他狀態(tài)
Exited(0) 6 months ago 代表:容器已退出(停止運(yùn)行)退出時(shí)狀態(tài)為 0 退出時(shí)間 6月前
同時(shí)我們看到PORTS中
0.0.0.0:32768->80/tcp 這代表兩層含義 1:容器中開放了80端口,使用TCP協(xié)議跷睦,對(duì)應(yīng)宿主機(jī)使用32768端口進(jìn)行映射筷弦。此時(shí)可以使用"宿主機(jī)IP:32768" 對(duì)容器80端口提供的服務(wù)進(jìn)行訪問
docker ps -s:會(huì)列出容器的文件大小(容器增加的大小/容器的虛擬大幸种睢)
SIZE:35.2MB(virtual 108MB)容器在鏡像ubuntu的大小的基礎(chǔ)上增加了35.2MB烂琴,例如在容器中運(yùn)行apt-get update 指令爹殊,會(huì)在寫入層新增文件。
容器的虛擬大小=容器鏡像的大小+容器增加大小
docker ps -q:僅列出CONTAINER ID 字段
此命令常用于批量操作的參數(shù)
如批量停止所有容器 docker stop `docker ps -a -q`
docker ps -l: 顯示最后一個(gè)運(yùn)行的容器(無論該容器目前處于什么狀態(tài))
docker ps -n 數(shù)量x:顯示最后 x 個(gè)運(yùn)行容器监右,當(dāng)x為1時(shí)和 -l 含義相同边灭。(無論該容器目前處于什么狀態(tài))
常用于快速查找最近運(yùn)行的容器
docker ps --no-trunc:不對(duì)輸出進(jìn)行截?cái)嗖僮鳎藭r(shí)可以看到完整的COMMAND健盒,CONTAINER ID
高級(jí)指令
docker -f :使用過濾器來過濾輸出
目前支持過濾器:
id (容器的id)
label
name(容器名稱)
exited (整數(shù)-容器退出狀態(tài)碼,只有在使用-all才有用)
status 容器狀態(tài)(created,restarting,running,paused,exited,dead)
ancestor 過濾從指定鏡像創(chuàng)建的容器
before (容器的名稱或id),過濾在給定id或名稱之后創(chuàng)建的容器
isolation (default process hyperv) (windows daemon only)
volume (數(shù)據(jù)卷名稱或掛載點(diǎn))称簿,--過濾掛載有指定數(shù)據(jù)卷的容器
network(網(wǎng)絡(luò)id或名稱)扣癣,過濾連接到指定網(wǎng)絡(luò)的容器
docker ps -f status=exited
docker ps -f ancestor=597ce1600cf4 -f status=exited -a
注意:ancestor過濾鏡像憨降,如果制定的是某個(gè)父鏡像父虑,則過濾出的結(jié)果包含以此鏡像構(gòu)建的子鏡像創(chuàng)建的容器,不僅僅是以該鏡像直接創(chuàng)建的容器
docker ps --formart {{.Names}}:以go的形式格式化輸出列表
go模板
.ID 容器的ID
.Image 鏡像的ID
.Command 容器啟動(dòng)的命令
.CreatedAt 創(chuàng)建容器的時(shí)間點(diǎn)
.RunngingFor 從容器創(chuàng)建到現(xiàn)在過去的時(shí)間
.Ports 暴露的端口
.Status 容器的狀態(tài)
.Size 容器硬盤的大小
.Names 容器的名稱
.Label 指定label的值
.Mounts 掛載到這個(gè)容器的數(shù)據(jù)卷名稱
image.png
綜合使用實(shí)例
刪除所有狀態(tài)為exited的容器