列出容器

$ 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 實用程式(例如 grepawk)對結果進行操作非常容易:

$ docker ps -aq
9cc69f11a0f7
2bc9b1988080
817879be2230

當使用 docker run --name mycontainer1 啟動容器時,你會給出一個特定的名稱,而不是一個隨機的名字(形式為 mood_famous,例如 nostalgic_stallman),並且可以很容易地用這樣的命令找到它們

docker ps -f name=mycontainer1