跳转至

附录1、Docker 常用命令及示例

本文是《Docker必知必会系列》第九篇,原文发布于个人博客:悟尘记

上一篇:Docker必知必会系列(八):从 Docker 进阶到 Kubernetes

常用命令列表

一张图总结 Docker 常用命令及状态变化:

Docker常用命令及状态变化图

可以通过 docker COMMAND --help 来查看这些命令的具体用法。

  • attach:依附到一个正在运行的容器中;
  • build:从一个 Dockerfile 创建一个镜像;
  • commit:从一个容器的修改中创建一个新的镜像;
  • cp:在容器和本地宿主系统之间复制文件中;
  • create:创建一个新容器,但并不运行它;
  • diff:检查一个容器内文件系统的修改,包括修改和增加;
  • events:从服务端获取实时的事件;
  • exec:在运行的容器内执行命令;
  • export:导出容器内容为一个 tar 包;
  • history:显示一个镜像的历史信息;
  • images:列出存在的镜像;
  • import:导入一个文件(典型为 tar 包)路径或目录来创建一个本地镜像;
  • info:显示一些相关的系统信息;
  • inspect:显示一个容器的具体配置信息;
  • kill:关闭一个运行中的容器 (包括进程和所有相关资源);
  • load:从一个 tar 包中加载一个镜像;
  • login:注册或登录到一个 Docker 的仓库服务器;
  • logout:从 Docker 的仓库服务器登出;
  • logs:获取容器的 log 信息;
  • network:管理 Docker 的网络,包括查看、创建、删除、挂载、卸载等;
  • node:管理 swarm 集群中的节点,包括查看、更新、删除、提升/取消管理节点等;
  • pause:暂停一个容器中的所有进程;
  • port:查找一个 nat 到一个私有网口的公共口;
  • ps:列出主机上的容器;
  • pull:从一个 Docker 的仓库服务器下拉一个镜像或仓库;
  • push:将一个镜像或者仓库推送到一个 Docker 的注册服务器;
  • rename:重命名一个容器;
  • restart:重启一个运行中的容器;
  • rm:删除给定的若干个容器;
  • rmi:删除给定的若干个镜像;
  • run:创建一个新容器,并在其中运行给定命令;
  • save:保存一个镜像为 tar 包文件;
  • search:在 Docker index 中搜索一个镜像;
  • service:管理 Docker 所启动的应用服务,包括创建、更新、删除等;
  • start:启动一个容器;
  • stats:监控容器的 CPU 利用率、内存使用量、网络 IO 总量以及磁盘 IO 总量等信息;
  • stop:终止一个运行中的容器;
  • swarm:管理 Docker swarm 集群,包括创建、加入、退出、更新等;
  • tag:为一个镜像打标签;
  • top:查看一个容器中的正在运行的进程信息;
  • unpause:将一个容器内所有的进程从暂停状态中恢复;
  • update:更新指定的若干容器的配置信息;
  • version:输出 Docker 的版本信息;
  • volume:管理 Docker volume,包括查看、创建、删除等;
  • wait:阻塞直到一个容器终止,然后输出它的退出符。

操作示例

查看 Docker 版本和系统信息

无论是在本地还是云端,我们都需要检查 Docker 版本和系统信息,可以使用以下命令找到 Docker 版本:

docker version
Client:
Version: 18.03.0-ce
API version: 1.37
Go version: go1.9.4
Git commit: 0520e24
Built: Wed Mar 21 23:06:22 2018
OS/Arch: darwin/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.0-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.4
Git commit: 0520e24
Built: Wed Mar 21 23:14:32 2018
OS/Arch: linux/amd64
Experimental: true

另一个重要命令是 docker info:

docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 18.03.0-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
…

该命令将显示部分设备信息,比如服务器版本、存储驱动程序、内核版本、操作系统、总内存等。当尝试为当前 Docker 安装启动新资源或尝试找出系统级资源分配问题时,这些信息非常有用,这也是检查运行、停止容器数量及下载镜像数量的快速方法。

搜索下载 Docker 镜像

可以使用 docker search 命令在 Docker Hub 搜索已有镜像:

docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 7861 [OK]
dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVNC 190 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 156 [OK]
ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS with ansible 93 [OK]
ubuntu-upstart Upstart is an event-based replacement for th… 87 [OK]
neurodebian NeuroDebian provides neuroscience research s… 50 [OK]

以上对 ubuntu 的搜索显示可用镜像、描述和官方状态等信息。如果要下载 ubuntu 镜像,可以使用 docker pull 命令:

docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
6b98dfc16071: Pull complete
4001a1209541: Pull complete
6319fc68c576: Pull complete
b24603670dc3: Pull complete
97f170c87c6f: Pull complete
Digest: sha256:5f4bdc3467537cbbe563e80db2c3ec95d548a9145d64453b06939c4592d67b6d
Status: Downloaded newer image for ubuntu:latest
$

Docker 镜像

使用 docker info 命令查找拥有镜像数量:

docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 1

docker images 命令可详细列出拥有镜像:

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              113a43faa138        2 weeks ago         81.2MB

假设下载 NGINX 镜像,可以运行 docker pull 命令:

docker pull nginx

如果检查 Docker 镜像,会看到如下内容:

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              113a43faa138        2 weeks ago         81.2MB
nginx               latest              cd5239a0906a        2 weeks ago         109MB

如果寻找 Ubuntu 16.04 版本,可使用 16.04 标签下载特定版本:

docker pull ubuntu:16.04

随后,将出现两个 Ubuntu 镜像版本:

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              16.04               5e8b97a2a082        2 weeks ago         114MB
ubuntu              latest              113a43faa138        2 weeks ago         81.2MB
nginx               latest              cd5239a0906a        2 weeks ago         109MB

注意:无需注册 Docker Hub 即可提取镜像。如果想将镜像推送到 Docker Hub,需要注册然后使用 docker login 命令登录:

docker login --username=yourhubusername --email=youremail@company.com

运行 Docker 容器

假设想在 docker 上运行 NGINX 服务器,可运行以下命令:

docker run -p 8080:80 nginx

如果已用 run 命令从 Docker Hub 提取 nginx 镜像创建 NGINX 容器。 -p 8080:80 会告诉 Docker 将 localhost 端口 8080 映射到 Docker 容器端口 80,应该能够从 http://localhost:8080 访问 NGINX 服务器。

NGINX 容器已附加到命令行。如果退出命令行,容器将会停止,可使用 detach(’- d)启动 NGINX 容器,这样即使退出命令行也可继续运行。

docker run -p 8080:80 -d nginx

以上命令将以分离模式启动容器并返回命令行。docker run 命令格式:

Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-a, --attach=[] #登录容器(以docker run -d启动的容器)
-c, --cpu-shares=0 #设置容器CPU权重,在CPU共享场景使用
--cap-add=[] #添加权限,权限清单详见:http://linux.die.net/man/7/capabilities
--cap-drop=[] #删除权限,权限清单详见:http://linux.die.net/man/7/capabilities
--cidfile="" #运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法
--cpuset="" #设置容器可以使用哪些CPU,此参数可以用来容器独占CPU
-d, --detach=false #指定容器运行于前台还是后台
--device=[] #添加主机设备给容器,相当于设备直通
--dns=[] #指定容器的dns服务器
--dns-search=[] #指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件
-e, --env=[] #指定环境变量,容器中可以使用该环境变量
--entrypoint="" #覆盖image的入口点
--env-file=[] #指定环境变量文件,文件格式为每行一个环境变量
--expose=[] #指定容器暴露的端口,即修改镜像的暴露端口
-h, --hostname="" #指定容器的主机名
-i, --interactive=false #打开STDIN,用于控制台交互
--link=[] #指定容器间的关联,使用其他容器的IP、env等信息
--lxc-conf=[] #指定容器的配置文件,只有在指定--exec-driver=lxc时使用
-m, --memory="" #指定容器的内存上限
--name="" #指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
--net="bridge" #容器网络设置,待详述
-P, --publish-all=false #指定容器暴露的端口,待详述
-p, --publish=[] #指定容器暴露的端口,待详述
--privileged=false #指定容器是否为特权容器,特权容器拥有所有的capabilities
--restart="" #指定容器停止后的重启策略,待详述
--rm=false #指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
--sig-proxy=true #设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理
-t, --tty=false #分配tty设备,该可以支持终端登录
-u, --user="" #指定容器的用户
-v, --volume=[] #给容器挂载存储卷,挂载到容器的某个目录
--volumes-from=[] #给容器挂载其他容器上的卷,挂载到容器的某个目录
-w, --workdir="" #指定容器的工作目录

列出 Docker 容器

docker ps 命令允许查找正在运行的所有容器:

docker ps
CONTAINER ID         IMAGE         COMMAND         CREATED           STATUS          PORTS             NAMES
6162daed25da         nginx  "nginx -g 'daemon of…" 7 minutes ago   Up 7 minutes  0.0.0.0:8080->80/tcp  hardcore_torvalds

如上显示容器的各种属性,可以看到是从 nginx 镜像创建并显示端口转发信息。CONTAINER ID 和 NAMES 属性需要特别提及,可以使用上述两大属性唯一标识容器。二者都可自动生成,但也可在容器创建过程中为容器命名。 创建一个名为 my_nginx 的 NGINX 容器:

docker run --name my_nginx -p 8888:80 -d nginx

再次列出所有 Docker 容器:

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                  NAMES
e7b19b6ad778        nginx               "nginx -g 'daemon of…"   About a minute ago   Up About a minute   0.0.0.0:8888->80/tcp   my_nginx
6162daed25da        nginx               "nginx -g 'daemon of…"   15 minutes ago       Up 16 minutes       0.0.0.0:8080->80/tcp   hardcore_torvalds

请注意,新容器的名称为“my_nginx”。 处理大量容器时,可以使用命名约定,这可以更好得组织容器。 docker ps 命令仅显示正在运行的容器。如果对上述情况使用 docker info 命令:

docker info
Containers: 2
Running: 2
Paused: 0
Stopped: 0
Images: 3

可以看到有两个容器正在运行,如果一个暂停或已停止,则不会仅使用 docker ps 命令查看这些容器,必须使用 all( - a)选项:

docker ps -a

启动,停止,重启和杀死容器

假设要停止’my_nginx’容器,可使用 CONTAINER ID 或 NAME。

docker stop my_nginx
my_nginx

列出 Docker 容器:

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
6162daed25da        nginx               "nginx -g 'daemon of…"   27 minutes ago      Up 27 minutes       0.0.0.0:8080->80/tcp   hardcore_torvalds
docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                          PORTS                  NAMES
e7b19b6ad778        nginx               "nginx -g 'daemon of…"   12 minutes ago      Exited (0) About a minute ago                          my_nginx
6162daed25da        nginx               "nginx -g 'daemon of…"   27 minutes ago      Up 27 minutes                   0.0.0.0:8080->80/tcp   hardcore_torvalds

如果在没有 -a 选项的情况下运行 docker ps,只显示正在运行的容器。在第二种情况下,可以看到’my_nginx’容器处于退出状态。

让我们 docker start 容器:

docker start my_nginx
my_nginx

检查 Docker 容器列表:

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
e7b19b6ad778        nginx               "nginx -g 'daemon of…"   16 minutes ago      Up 29 seconds       0.0.0.0:8888->80/tcp   my_nginx
6162daed25da        nginx               "nginx -g 'daemon of…"   30 minutes ago      Up 30 minutes       0.0.0.0:8080->80/tcp   hardcore_torvalds

可以看到 STATUS 显示容器’my_nginx’再次被启动。 如果由于某些问题而需重启容器,则可使用 restart 命令,这比单独停止和启动容器速度更快:

docker restart my_nginx

可以像进程一样终止 docker 容器,比如终止 my_nginx 容器:

docker kill my_nginx

再次列出 Docker 容器:

docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                       PORTS                  NAMES
e7b19b6ad778        nginx               "nginx -g 'daemon of…"   22 minutes ago      Exited (137) 7 seconds ago                          my_nginx
6162daed25da        nginx               "nginx -g 'daemon of…"   36 minutes ago      Up 36 minutes                0.0.0.0:8080->80/tcp   hardcore_torvalds

容器 my_nginx 未运行。此外,可在信息中看到一个正在运行的容器和一个已停止容器:

docker info
Containers: 2
Running: 1
Paused: 0
Stopped: 1
Images: 3

Docker Exec Bash 和 Docker SSH

如果需要与 shell 进行交互以创建服务或解决问题,可以使用 docker exec 命令创建交互式 shell。比如,用 bash shell 从 ubuntu 镜像启动一个容器:

docker run --name my_ubuntu -it ubuntu:latest bash
root@a19c770b8621:/#

root @haracle#表示位于 Docker 容器的 bash shell 中,可以运行 shell 命令:

root@a19c770b8621:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@a19c770b8621:/# pwd
/

列出 Docker 容器:

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                  NAMES
a19c770b8621        ubuntu:latest       "bash"                   About a minute ago   Up About a minute                          my_ubuntu
6162daed25da        nginx               "nginx -g 'daemon of…"   About an hour ago    Up About an hour    0.0.0.0:8080->80/tcp   hardcore_torvalds

如上,my_ubuntu 正在运行。假设想将 Docker ssh 放入’my_ubuntu’容器中,可以使用 docker exec bash:

docker exec -it my_ubuntu bash
root@a19c770b8621:/#

使用 docker exec 向容器发出命令。例如,可以直接用命令提示符在 my_ubuntu 容器上运行 ls 命令:

docker exec -it my_ubuntu ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr

以分离模式启动容器并 attach

以上示例用附加模式启动 ubuntu 容器,我们也可在分离模式下启动:

docker run -it -d --name my_ubuntu_2 ubuntu:latest bash
75b28b7208359137b3e1dc2843387918e28b4c6c4860ef0cdeac79c205f5cbc4

验证容器是否正在运行:

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
75b28b720835        ubuntu:latest       "bash"                   3 minutes ago       Up 3 minutes                               my_ubuntu_2
a19c770b8621        ubuntu:latest       "bash"                   15 minutes ago      Up 15 minutes                              my_ubuntu
6162daed25da        nginx               "nginx -g 'daemon of…"   2 hours ago         Up 2 hours          0.0.0.0:8080->80/tcp   hardcore_torvalds

使用 docker attach 命令获取 docker exec bash-like 效果:

docker attach my_ubuntu_2
root@75b28b720835:/#

检查 Docker 镜像历史

Docker 社区镜像是分层创建的,可使用 Docker history 命令查看镜像创建方式。先看看有哪些镜像:

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              16.04               5e8b97a2a082        2 weeks ago         114MB
ubuntu              latest              113a43faa138        2 weeks ago         81.2MB
nginx               latest              cd5239a0906a        2 weeks ago         109MB

查看 nginx 镜像历史:

docker history nginx
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
cd5239a0906a        2 weeks ago         /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B
<missing>           2 weeks ago         /bin/sh -c #(nop)  STOPSIGNAL [SIGTERM]         0B
<missing>           2 weeks ago         /bin/sh -c #(nop)  EXPOSE 80/tcp                0B
<missing>           2 weeks ago         /bin/sh -c ln -sf /dev/stdout /var/log/nginx…   22B
<missing>           2 weeks ago         /bin/sh -c set -x  && apt-get update  && apt…   53.7MB
<missing>           2 weeks ago         /bin/sh -c #(nop)  ENV NJS_VERSION=1.15.0.0.…   0B
<missing>           2 weeks ago         /bin/sh -c #(nop)  ENV NGINX_VERSION=1.15.0-…   0B
<missing>           7 weeks ago         /bin/sh -c #(nop)  LABEL maintainer=NGINX Do…   0B
<missing>           8 weeks ago         /bin/sh -c #(nop)  CMD ["bash"]                 0B
<missing>           8 weeks ago         /bin/sh -c #(nop) ADD file:ec5be7eec56a74975…   55.3MB

使用镜像历史命令查找最近更改,如果在新版本镜像中发现问题,则此命令可帮助找到原因,也可用以下命令:

docker image history nginx

Docker 检查容器

可以使用 docker inspect 命令查找有关系统的信息,运行 docker ps 命令列出 Docker 容器:

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
6162daed25da        nginx               "nginx -g 'daemon of…"   2 hours ago         Up 2 hours          0.0.0.0:8080->80/tcp   hardcore_torvalds

使用 CONTAINER ID 检查容器(也可使用容器名称):

docker inspect 6162daed25da
[
{
"Id": "6162daed25da50b98afca5f7ed8caca2289bf309b2547d87ae8674b899d604a4",
"Created": "2018-06-25T05:46:37.902211302Z",
"Path": "nginx",
"Args": [
…
…
…
"DriverOpts": null
}
}
}
}
]

该命令将以 JSON 格式提供大量信息,以下是查找容器 IP 地址的技巧:

docker inspect 6162daed25da | grep "IPAddress"
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.2",
                    "IPAddress": "172.17.0.2",

容器与主机间文件复制

再次列出 Docker 容器:

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
6162daed25da        nginx               "nginx -g 'daemon of…"   3 hours ago         Up 3 hours          0.0.0.0:8080->80/tcp   hardcore_torvalds

NGINX 容器在端口 8080 上运行。因此,如果转到 http//localhost:8080,将看到以下内容:

"Welcome to nginx!"

如果看到此页面,则 nginx Web 服务器已成功安装并正常运行,需要进一步配置。 首先,在本地目录中创建 index.html:

<html>
  <header><title>My Website</title></header>
  <body>
    Hello world
  </body>
</html>

使用带有 ls 的 docker exec 命令检查 NGINX 容器中具有 index.html 的文件夹:

docker exec -it hardcore_torvalds ls /usr/share/nginx/html
50x.html index.html

使用创建的本地文件覆盖容器 index.html 文件:

docker cp index.html hardcore_torvalds:usr/share/nginx/html/

如果再次检查http://localhost:8080,应该可以看到问候语“Hello world”。 可使用 docker cp 命令在本地计算机和创建容器间移动文件,此方法可用于覆盖配置文件。

创建 Docker 镜像

如果想复制更多“Hello World”容器,必须将当前容器保存为镜像。 首先,停止容器:

docker stop hardcore_torvalds

列出所有 Docker 容器:

docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS               NAMES
75b28b720835        ubuntu:latest       "bash"                   About an hour ago   Exited (0) About an hour ago                       my_ubuntu_2
a19c770b8621        ubuntu:latest       "bash"                   2 hours ago         Exited (0) About an hour ago                       my_ubuntu
6162daed25da        nginx               "nginx -g 'daemon of…"   3 hours ago         Exited (0) 27 seconds ago                          hardcore_torvalds

从 STATUS 中,可以看到 NGINX’corecore_torvalds’容器已停止。使用 docker commit 命令创建新镜像:

docker commit 6162daed25da nginx_hello_world_template
sha256:117d060587a316035ed5a776e613d9cfbeee9fbfe202c6edc9203820c7da987b

如果现在检查,将看到新镜像:

docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
nginx_hello_world_template   latest              117d060587a3        40 seconds ago      109MB
ubuntu                       16.04               5e8b97a2a082        2 weeks ago         114MB
ubuntu                       latest              113a43faa138        2 weeks ago         81.2MB
nginx                        latest              cd5239a0906a        2 weeks ago         109MB

可以使用此镜像并启动新 Docker 容器,新创建容器将具有“Hello world”页面,而不是“Welcome NGINX”页面。示例如下:

docker run -it -d -p 8886:80 nginx_hello_world_template
4e042d76c39125471951626ba42cd609a65c73f041943298f74f4fc43dc5596a
$

删除 Docker 容器和镜像

Docker 容器和镜像会占用硬盘空间,因此最好定期清理。首先停止所有容器,然后列出所有容器,使用以下 Docker 命令执行操作:

docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                         PORTS               NAMES
4e042d76c391        nginx_hello_world_template   "nginx -g 'daemon of…"   2 minutes ago       Exited (0) 8 seconds ago                           boring_keldysh
75b28b720835        ubuntu:latest                "bash"                   2 hours ago         Exited (0) About an hour ago                       my_ubuntu_2
a19c770b8621        ubuntu:latest                "bash"                   2 hours ago         Exited (0) About an hour ago                       my_ubuntu
6162daed25da        nginx                        "nginx -g 'daemon of…"   3 hours ago         Exited (0) 11 minutes ago                          hardcore_torvalds

如上,有 4 个处于停止状态的容器,可使用 docker rm 命令删除容器:

docker rm 4e042d76c391 75b28b720835 a19c770b8621 6162daed25da
4e042d76c391
75b28b720835
a19c770b8621
6162daed25da

可使用 NAMES 代替 CONTAINER ID,容器列表现在应该是干净的:

docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

列出 Docker 镜像:

docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
nginx_hello_world_template   latest              117d060587a3        11 minutes ago      109MB
ubuntu                       16.04               5e8b97a2a082        2 weeks ago         114MB
ubuntu                       latest              113a43faa138        2 weeks ago         81.2MB
nginx                        latest              cd5239a0906a        2 weeks ago         109MB

可使用 docker rmi 命令和 IMAGE ID 删除 docker 镜像:

docker rmi 117d060587a3 5e8b97a2a082 113a43faa138 cd5239a0906a

最后,Docker 镜像列表应该是干净的:

docker images
REPOSITORY TAG IMAGE ID CREATED SIZE

参考

相关文章

评论