Docker 教程

Docker 查看容器

在 Docker 中,使用 docker container ls 命令列出正在运行的 Docker 容器。

当我们执行 docker container ls 命令后,会显示以下信息:

root@hxvm2:~# docker container ls
CONTAINER ID   IMAGE          COMMAND                  CREATED              STATUS              PORTS                                       NAMES
7bfac83b61a3   redis          "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   redis
41a203fa62c5   nginx:latest   "/docker-entrypoint.…"   17 hours ago         Up 17 hours         0.0.0.0:8080->80/tcp, :::8080->80/tcp       eager_taussig

输出说明:

  • CONTAINER ID:容器的唯一标识符,是一个十六进制的字符串。

  • IMAGE:用于创建该容器的镜像名称和标签。

  • COMMAND:容器启动时运行的命令。

  • CREATED:容器创建的时间。

  • STATUS:容器的当前状态,如 Up X minutes 表示容器已经运行了多少分钟。

  • PORTS:如果容器有端口映射,会显示映射的端口信息。

  • NAMES:容器的名称,可以在创建容器时指定或者由 Docker 自动生成。也可以通过 --name 自己指定。

语法

语法如下:

用法:docker container ls [OPTIONS]

列出容器

别名:
  docker container ls、docker container list、docker container ps、docker ps

选项:
  -a、--all 显示所有容器(默认只显示正在运行的容器)
  -f、--filter 过滤器 根据提供的条件过滤输出
      --format string 使用自定义模板格式化输出:
          'table': 以带列头的表格格式打印输出(默认值)
          'table TEMPLATE': 使用给定的 Go 模板以表格格式打印输出
          'json': 以 JSON 格式打印
          'TEMPLATE': 使用给定的 Go 模板打印输出。
          有关使用模板格式化输出的更多信息,请参阅 https://docs.docker.com/go/formatting/。
                        
  -n,--last int  显示 n 个最后创建的容器(包括所有状态)(默认为 -1)
  -l, --latest  显示最新创建的容器(包括所有状态)
      --no-trunc  不截断输出
  -q、--quiet  只显示容器 ID
  -s, --size   显示文件总大小

示例

(1)查看所有容器的详细信息:

root@hxvm2:~# docker container ls -a
CONTAINER ID   IMAGE           COMMAND                  CREATED         STATUS                      PORTS                                                  NAMES
6393c1a9593f   mysql           "docker-entrypoint.s…"   6 minutes ago   Exited (1) 6 minutes ago                                                           mysql
7bfac83b61a3   redis           "docker-entrypoint.s…"   6 minutes ago   Up 6 minutes                0.0.0.0:6379->6379/tcp, :::6379->6379/tcp              redis
41a203fa62c5   nginx:latest    "/docker-entrypoint.…"   17 hours ago    Up 17 hours                 0.0.0.0:8080->80/tcp, :::8080->80/tcp                  eager_taussig
c47713422164   ubuntu:latest   "/bin/bash"              17 hours ago    Exited (127) 17 hours ago                                                          cool_robinson
d6a7b0794cd9   ubuntu:latest   "/bin/bash"              18 hours ago    Exited (127) 18 hours ago                                                          pedantic_moser
eda147abad68   nginx:1.20      "/docker-entrypoint.…"   20 hours ago    Exited (0) 19 hours ago                                                            heuristic_yalow
6a2896bec3b6   myapp           "python3 main.py"        21 hours ago    Exited (137) 21 hours ago                                                          elegant_lehmann
773be51556af   mongo           "docker-entrypoint.s…"   9 days ago      Exited (255) 22 hours ago   0.0.0.0:27017->27017/tcp, :::27017->27017/tcp          some-mongo
dad77cbe4396   redis           "docker-entrypoint.s…"   9 days ago      Exited (255) 22 hours ago   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp              some-redis
5efe0b8e06ef   mysql           "docker-entrypoint.s…"   9 days ago      Exited (255) 22 hours ago   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   some-mysql

(2)获取最近创建的五个容器:

root@hxvm2:~# docker container ls -a -n 5
CONTAINER ID   IMAGE           COMMAND                  CREATED         STATUS                      PORTS                                       NAMES
6393c1a9593f   mysql           "docker-entrypoint.s…"   6 minutes ago   Exited (1) 6 minutes ago                                                mysql
7bfac83b61a3   redis           "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes                0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   redis
41a203fa62c5   nginx:latest    "/docker-entrypoint.…"   17 hours ago    Up 17 hours                 0.0.0.0:8080->80/tcp, :::8080->80/tcp       eager_taussig
c47713422164   ubuntu:latest   "/bin/bash"              17 hours ago    Exited (127) 17 hours ago                                               cool_robinson
d6a7b0794cd9   ubuntu:latest   "/bin/bash"              18 hours ago    Exited (127) 18 hours ago                                               pedantic_moser

(3)结合其他命令使用容器 ID。如果要停止一个特定的容器,可以先使用 docker container ls -q 获取容器 ID,然后使用 docker container stop <container_id> 来停止该容器。例如:

# 先启动一个 mongodb 容器
root@hxvm2:~# docker run --name mongodb -d -p 27017:27017 mongo
9f0ee5f36436ea6e9eda550dcd03faf6e3e0a55011d382d929ced4a099baa44a

# 查看最近启动容器的信息
root@hxvm2:~# docker container ls -n 1
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                           NAMES
9f0ee5f36436   mongo     "docker-entrypoint.s…"   12 seconds ago   Up 11 seconds   0.0.0.0:27017->27017/tcp, :::27017->27017/tcp   mongodb

# 利用 -q 选项获取最近启动容器的ID,然后停止该容器
root@hxvm2:~# docker container stop $(docker container ls -q -n 1)
9f0ee5f36436

总结

docker container ls 命令是管理 Docker 容器时经常使用的命令之一,可以帮助你了解当前系统中正在运行的容器以及它们的状态和配置信息。

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号