如何在Docker中列出容器

在Docker中,我们可以使用docker ps显示所有正在运行的容器,使用docker ps -a显示所有正在运行和已停止的容器。

以下是一些常用示例:

Terminal
# common
$ docker ps                             // show only running containers
$ docker ps -a                          // show all containers (running and stopped or exited)

# recent containers
$ docker ps -l                          // To show the latest created container (all states)
$ docker ps -n=5                        // show 5 last created containers (all states)

# file size
$ docker ps -s                          // show the file size of all running containers
$ docker ps -as                         // show the file size of all containers (all states)

# filter examples
$ docker ps -f "status=created"         // show containers which status is `created`
$ docker ps -f "status=exited"          // show containers which status is `exited`, stopped containers.
$ docker ps -af "name=trusting_murdock" // show container which name is 'trusting_murdock'
$ docker ps -af "exited=1"              // show containers which status is ` Exited (1)`, find errors.

# formatting output
$ docker ps -a --format "{{.ID}}: {{.Command}}: {{.Status}}"

# misc
$ docker ps --no-trunc                  // prevent truncating output

什么是ps
ps代表process status 。 在Docker上,它显示容器的状态及其ID。

1.样品

这是所有的容器。

Terminal
$ docker ps -a

CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS                    PORTS                   NAMES        
80a9db188a21   busybox        "sh"                     18 seconds ago Up 17 seconds                                     happy_villani
e90b8831a4b8   nginx          "/bin/bash -c ls"        11 weeks ago   Up 4 hours                                        my_nginx
d362659da5fc   app:1.1        "java -jar app.jar"      9 days ago     Exited (255) 8 days ago    0.0.0.0:80->8080/tcp   xenodochial_volhard
93c591f6b764   eb7e5d08c776   "java -XX:+UnlockCom…"   9 days ago     Exited (1) 9 days ago                             nervous_booth

1.1显示正在运行的容器, Status == Up

Terminal
$ docker ps

CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS                    PORTS                   NAMES   
80a9db188a21   busybox        "sh"                     18 seconds ago Up 17 seconds                                     happy_villani
e90b8831a4b8   nginx          "/bin/bash -c ls"        11 weeks ago   Up 4 hours                                        my_nginx

1.2显示3个最后创建的容器(任何状态)

Terminal
$ docker ps -n=3                        

CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS                    PORTS                   NAMES        
80a9db188a21   busybox        "sh"                     18 seconds ago Up 17 seconds                                     happy_villani
e90b8831a4b8   nginx          "/bin/bash -c ls"        11 weeks ago   Up 4 hours                                        my_nginx
d362659da5fc   app:1.1        "java -jar app.jar"      9 days ago     Exited (255) 8 days ago    0.0.0.0:80->8080/tcp   xenodochial_volhard

1.3显示正在运行的容器的文件大小。

Terminal
$ docker ps -s

CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS                    PORTS                   NAMES             SIZE
80a9db188a21   busybox        "sh"                     18 seconds ago Up 17 seconds                                     happy_villani     0B (virtual 1.22MB)
e90b8831a4b8   nginx          "/bin/bash -c ls"        11 weeks ago   Up 4 hours                                        my_nginx          58.48 kB (virtual 99.2 MB)

1.4按状态过滤。

Terminal
$ docker ps -f "status=exited"

CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS                    PORTS                   NAMES        
d362659da5fc   app:1.1        "java -jar app.jar"      9 days ago     Exited (255) 8 days ago    0.0.0.0:80->8080/tcp   xenodochial_volhard
93c591f6b764   eb7e5d08c776   "java -XX:+UnlockCom…"   9 days ago     Exited (1) 9 days ago                             nervous_booth


$ docker ps -af "exited=1"   

93c591f6b764   eb7e5d08c776   "java -XX:+UnlockCom…"   9 days ago     Exited (1) 9 days ago                             nervous_booth

1.5按货柜编号筛选

Terminal
$ docker ps -af id=d362659da5fc

CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS                    PORTS                   NAMES        
d362659da5fc   app:1.1        "java -jar app.jar"      9 days ago     Exited (255) 8 days ago    0.0.0.0:80->8080/tcp   xenodochial_volhard

进一步阅读
请参阅此官方Docker ps指南以获取更多受支持的过滤器。

1.6格式化输出

Terminal
$ docker ps -a --format "{{.ID}}: {{.Command}}: {{.Status}}"


80a9db188a21: "sh": Up 17 seconds
e90b8831a4b8: "/bin/bash -c ls": Up 4 hours
d362659da5fc: "java -jar app.jar": Exited (255) 8 days ago
93c591f6b764: "java -XX:+UnlockCom…": Exited (1) 9 days ago

2. docker ps –帮助

这是最强大的命令。

$ docker ps --help

Usage:  docker ps [OPTIONS]

List containers

Options:
  -a, --all             Show all containers (default shows just running)
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print containers using a Go template
  -n, --last int        Show n last created containers (includes all
                        states) (default -1)
  -l, --latest          Show the latest created container (includes all
                        states)
      --no-trunc        Dont truncate output
  -q, --quiet           Only display numeric IDs
  -s, --size            Display total file sizes

参考文献

翻译自: https://mkyong.com/docker/how-to-list-containers-in-docker/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值