1. 获取镜像
docker [image] pull命令:
- NAME : 镜像仓库名称(用来区分镜像)
- TAG : 是镜像的标签(往往用来表示版本信息,如果不显式指定TAG,则默认会选择latest标签,这会下载仓库中最新版本的镜像)
docker[image] pull NAME[:TAG]
pull子命令 :
- -a, --all-tags=true|false:是否获取仓库中的所有镜像,默认为否
- –disable-content-trust:取消镜像的内容校验,默认为真
2. 查看镜像信息
2.1 使用images命令列出镜像
使用docker images或docker image ls命令可以列出本地主机上已有镜像的基本信息 :
- 来自于哪个仓库
- 镜像的标签信息
- 镜像的ID(唯一标识镜像),如果两个镜像的ID相同,说明它们实际上指向了同一个镜像,只是具有不同标签名称而已
- 创建时间,说明镜像最后的更新时间
- 镜像大小
images子命令:
- -a, --all=true|false:列出所有(包括临时文件)镜像文件,默认为否
- –digests=true|false:列出镜像的数字摘要值,默认为否
- -f, --filter=[]:过滤列出的镜像,如dangling=true只显示没有被使用的镜像;也可指定带有特定标注的镜像等
- –format=“TEMPLATE”:控制输出格式,如.ID代表ID信息,.Repository代表仓库信息等
- –no-trunc=true|false:对输出结果中太长的部分是否进行截断,如镜像的ID信息,默认为是
- -q, --quiet=true|false:仅输出ID信息,默认为否
- …
2.2 使用tag命令添加镜像标签
使用docker tag命令来为本地镜像任意添加新的标签。
docker tag xxx tag
2.3 使用inspect命令查看详细信息
使用docker[image]inspect命令可以获取该镜像的详细信息,包括制作者、适应架构、各层的数字摘要等:
docker [image] inspect xxx
2.4 使用history命令查看镜像历史
docker history xxx
注意,过长的命令被自动截断了,可以使用前面提到的–no-trunc选项来输出完整命令。
3. 搜寻镜像
使用docker search命令可以搜索Docker Hub官方仓库中的镜像。
docker search [option] keyword
支持的命令选项:
- -f, --filter filter:过滤输出内容
- –format string:格式化输出内容
- –limit int:限制输出结果个数,默认为25个
- –no-trunc:不截断输出结果
4. 删除和清理镜像
4.1 使用标签删除镜像
使用docker rmi或docker image rm命令可以删除镜像:
docker rmi IMAGE[IMAGE...]
其中IMAGE可以为标签或ID,支持选项:
- -f, -force:强制删除镜像,即使有容器依赖它
- -no-prune:不要清理未带标签的父镜像
4.2 使用镜像ID来删除镜像
当使用docker rmi命令,并且后面跟上镜像的ID(也可以是能进行区分的部分ID串前缀)时,会先尝试删除所有指向该镜像的标签,然后删除该镜像文件本身。
注意,当有该镜像创建的容器存在时,镜像文件默认是无法被删除的,可以使用 -f 参数强行删除。
4.3 清理镜像
使用Docker一段时间后,系统中可能会遗留一些临时的镜像文件,以及一些没有被使用的镜像,可以通过docker image prune命令来进行清理。
- -a, -all:删除所有无用镜像,不光是临时镜像
- -filter filter:只清理符合给定过滤器的镜像
- -f, -force:强制删除镜像,而不进行提示确认
docker image prune -f
5. 创建镜像
5.1 基于已有容器创建
docker [container] commit[OPTIONS] CONTAINER [REPOSITORY[:TAG]]
主要选项包括:
- -a, --author="":作者信息
- -c, --change=[]:提交的时候执行Dockerfile指令,包括CMD|ENTRYPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR等
- -m, --message="":提交消息
- -p, --pause=true:提交时暂停容器运行
5.2 基于本地模板导入
用户也可以直接从一个操作系统模板文件导入一个镜像,主要使用docker [container] import命令。
docker [image] import[OPTIONS] file|URL|-[REPOSITORY [:TAG]]
5.3 基于Dockerfile创建
Dockerfile是一个文本文件,利用给定的指令描述基于某个父镜像创建新镜像的过程。
docker [image] build xxx
6. 存出和载入镜像
6.1 存出镜像
导出镜像到本地文件:
docker [image] save
支持-o、-outputstring参数,导出镜像到指定的文件中。
6.2 载入镜像
可以使用docker [image] load将导出的tar文件再导入到本地镜像库。支持-i、-input string选项,从指定文件中读入镜像内容。
7. 上传镜像
使用docker [image] push命令上传镜像到仓库,默认上传到Docker Hub官方仓库(需要登录)。
命令格式:
docker [image] push NAME[:TAG] |[REGISTRY_HOST[:REGISTRY_PORT]/]NAME[:TAG]