列出容器
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2bc9b1988080 redis "docker-entrypoint.sh" 2 weeks ago Up 2 hours 0.0.0.0:6379->6379/tcp elephant-redis
817879be2230 postgres "/docker-entrypoint.s" 2 weeks ago Up 2 hours 0.0.0.0:65432->5432/tcp pt-postgres
docker ps
本身只列印當前正在執行的容器。要檢視所有容器(包括已停止的容器),請使用 -a
標誌:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9cc69f11a0f7 docker/whalesay "ls /" 26 hours ago Exited (0) 26 hours ago berserk_wozniak
2bc9b1988080 redis "docker-entrypoint.sh" 2 weeks ago Up 2 hours 0.0.0.0:6379->6379/tcp elephant-redis
817879be2230 postgres "/docker-entrypoint.s" 2 weeks ago Up 2 hours 0.0.0.0:65432->5432/tcp pt-postgres
要列出具有特定狀態的容器,請使用 -f
命令列選項篩選結果。以下是列出已退出的所有容器的示例:
$ docker ps -a -f status=exited
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9cc69f11a0f7 docker/whalesay "ls /" 26 hours ago Exited (0) 26 hours ago
也可以使用 -q
開關僅列出 Container ID。這使得使用其他 Unix 實用程式(例如 grep
和 awk
)對結果進行操作非常容易:
$ docker ps -aq
9cc69f11a0f7
2bc9b1988080
817879be2230
當使用 docker run --name mycontainer1
啟動容器時,你會給出一個特定的名稱,而不是一個隨機的名字(形式為 mood_famous,例如 nostalgic_stallman),並且可以很容易地用這樣的命令找到它們
docker ps -f name=mycontainer1