Docker技术入门与实战(第3版) 读书笔记: (三)使用Docker镜像

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]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值