Docker是一种流行的容器化平台,它允许用户构建、分享和运行容器化的应用程序。在Docker中,镜像是构建和创建容器的基础。之前的文章我们介绍了docker安装还有docker镜像的拉取,本文将介绍一些常用的Docker镜像管理命令,帮助我们管理和操作Docker镜像。
docker images
docker images
可以查看本地已经下载的镜像,如下:
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS参数说明
options | 作用 |
-a, --all | 列出本地所有的镜像(含中间镜像层,默认情况下,过滤掉中间映像层) |
--digests | 显示镜像的摘要信息 |
-f, --filter filter | 显示满足条件(filter)的镜像 |
--format string | 使用模板格式化输出 |
--no-trunc | 显示完整的镜像信息 |
-q, --quiet | 只显示镜像ID |
使用示例
标头各列含义
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jenkins/jenkins lts 825c3e86c65d 20 hours ago 471MB
python 3.8 0628e6793418 2 weeks ago 997MB
hello-world latest 9c7a54a9a43c 7 weeks ago 13.3kB
#REPOSITORY # 镜像的仓库名
#TAG # 镜像的标签(版本) ---lastest 表示最新版本
#IMAGE ID # 镜像的id
#CREATED # 镜像的创建时间
#SIZE # 镜像的大小
docker search
docker search
命令用于从docker-hub
搜索查找镜像,语法如下:
docker search [OPTIONS] TERM
OPTIONS参数说明
option | 作用 |
-f, --filter filter | 根据提供的 filter 过滤输出 |
--limit int | 搜索结果条数最大为 int(默认25) |
--no-trunc | 显示完整的镜像描述 description |
--format | 使用 Go 模板进行美观打印 |
使用示例
--filter 的使用示例
我们在搜索镜像时,可以添加更多的过滤条件,--filter
就允许我们添加不同的过滤条件,搜索到我们需要的镜像,如下:
- 搜索 star 数量>3 的 tomcat 镜像并打印详细描述
docker search --filter=stars=3 --no-trunc tomcat
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementation of the Java Servlet and JavaServer Pages technologies 3561 [OK]
tomee Apache TomEE is an all-Apache Java EE certified stack where Apache Tomcat is top dog. 109 [OK]
bitnami/tomcat Bitnami Tomcat Docker Image 49 [OK]
eclipse/rdf4j-workbench Dockerfile for Eclipse RDF4J Server and Workbench, based on the Tomcat 8.5 Alpine image. 6
jelastic/tomcat An image of the Tomcat Java application server maintained by Jelastic PaaS. 4
rightctrl/tomcat CentOS , Oracle Java, tomcat application ssl https 7 [OK]
amd64/tomcat Apache Tomcat is an open source implementation of the Java Servlet and JavaServer Pages technologies 6
arm64v8/tomcat Apache Tomcat is an open source implementation of the Java Servlet and JavaServer Pages technologies 8
- 搜索 star 数量>3000 的 mysql 镜像
docker search mysql --filter=STARS=3000
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 14264 [OK]
mariadb MariaDB Server is a high performing open sou… 5453 [OK]
docker rmi
要删除不再需要的Docker镜像,可以使用docker rmi
命令。执行以下命令以删除指定的镜像:
docker rmi [OPTIONS] IMAGE [IMAGE...]
options参数说明
- -f,强制删除
- --no-prune,不移除该镜像的过程镜像,默认移除。
例如,我们要删除docker中的mysql
镜像,命令如下:
docker rmi mysql
运行结果如下:
使用镜像id一样可以将镜像删除,如下图:
docker tag
我们可以通过docker tag
命令来对已有镜像进行标记,修改镜像的名称以及tag
,命令如下:
docker tag <现有镜像名称>:<现有标签> <新镜像名称>:<新标签>
例如,我们要将hello-world
镜像标记为hogwarts
镜像,命令如下:
docker tag hello-world:latest hogwarts:muller
总结
通过使用这些常用的Docker镜像管理命令,我们可以方便地管理和操作Docker镜像。我们可以查看已下载的镜像、下载新的镜像、删除不再需要的镜像、标记镜像以及搜索特定的镜像。
镜像管理对于在Docker中构建、部署和维护应用程序至关重要。请记住,在执行任何涉及镜像的操作之前,务必小心,并确保了解其影响。合理地管理和操作Docker镜像可以帮助我们更好地组织和维护应用程序的镜像库。