列出容器

$ 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