docker镜像

1 获取镜像

语法: docker pull NAME[:TAG]
说明:如果不显示指定TAG,则默认会选择latest标签,即下载仓库中最新版本的镜像
示例:
1. 不指定TAG标签

docker pull centos

2. 从非默认仓库下载

docker pull hub.c.163.com/public/centos:7

pull子命令
-a,–all-tags=true|false:是否获取仓库中的所有镜像,默认否
–disable-content-trust:取消镜像的内容校验,默认为真

2 查看镜像信息

1. 使用images命令列出镜像
语法:docker images 或者 docker image ls

images子命令
-a,–all=true|false:列出所有镜像文件,默认为否
–digests=true|false:列出镜像的数字摘要值,默认为否
-f, --filter=[]:过滤列出的镜像
–format=“TEMPLATE”:控制输出格式,如.ID代表ID信息,.Repository代表仓库信息
–no-trunc=true|false:对输出结果中太长的部分是否进行截断,默认是
-q,–quiet=true|false:仅输出id信息,默认为否

2. 使用tag命令添加镜像标签
为本地镜像任意添加新的标签
例如:添加一个新的 mycentos:latest镜像标签
docker tag centos:latest mycentos:latest
说明:tag命令添加的标签起到了类似链接的作用

3. 使用inspect命令查看详细信息
语法:docker inspect NAME[:TAG]

4. 使用history命令查看镜像历史
语法:docker history NAME[:TAG]

3 搜寻镜像

语法:docker search [option] keyword
选项: -f,–filter filter:过滤输出内容
–format string:格式化输出
–limit int:限制输出结果个数,默认25个
–no-trunc:不截断输出结果
例如:搜索所有收藏数超过4的关键词包括tensorflow的镜像

docker search --filter=stars=4 tensorflow

4 删除和清理镜像

1. 使用标签删除镜像
语法:docker rmi IMAGE [IMAGE...]或者 docker image rm IMAGE [IMAGE...],其中IMAGE可以为标签或ID
选项:-f,-force:强制删除镜像,即使有容器依赖它
-no-prune:不要清理未带标签的父镜像
说明:当同一个镜像拥有多个标签时,只删除指定标签,不影响镜像文件;如果镜像只有一个标签,会彻底删除镜像。

2. 使用镜像ID删除镜像
示例:docker rmi 8f1b
说明:
- 当有该镜像创建的容器存在时,镜像文件默认无法删除,如果需要强行删除,可使用-f参数
- 可以使用id的前几个字符或者后几个字符代替完整的id号

3. 清理镜像
语法:docker image prune
选项:-a,all:删除所有无用镜像
-filter filter:只清理符合给定过滤器的镜像
-f,-force:强制删除镜像,而不进行提示确认
示例:docker image prune -f

5 创建镜像

1. 基于已用容器创建
语法:docker [container] commit
选项:-a,–author="":作者信息
-c --change=[]:提交的时候执行Dockerfile指令,包括CMD|ENTRYPOINT|ENV|EXPOSE|LABEL等;
-m,–message="":提交消息
-p,–pause=true:提交时暂停容器运行
示例:docker commit -m "Add a new file" -a "Kevin" b3f0(容器id) test:0.1

2. 基于本地模板导入
语法:docker [image] import [option] file|URL|- [REPOSITORY[:TAG]]
说明:可以使用OpenVZ提供的模板创建,或通过其他已导出的镜像模板创建。OPVZ下载地址:http://openvz.org/Download/templates/precreated
示例:docker import centos-6-x86-minimal.tar.gz mycentos:0.1 或者 cat centos-6-x86-minimal.tar.gz | docker import - mycentos:0.1

3. 基于Dockerfile创建
语法:docker [image] bulid

示例:基于debain:stretch-slim镜像安装python3环境,构成一个新的python:3镜像

      FROM debain:stretch-slim
      Label version="1.0" maintainer="kevin <kevin@github>"
      RUN apt-get update && apt-get install -y python3 && apt-get clean && rm -rf /var/lib/apt/lists/*
      docker build -t python:3 .

6 存出和载入镜像

1. 存出镜像
语法:docker [image] save [option] 导出镜像包 镜像
示例:docker save -o centos.tar.gz centos:latest

2. 载入镜像
语法:docker [image] load [option] 镜像包
示例:docker load -i centos.tar.gz 或者 docker load < centos.tar.gz

7 上传镜像

语法:docker [image] push NAME[:TAG] | [REPOSITORY_HOST[:REPOSITORY_PORT]/] NAME[:TAG]
说明:默认上传到Docker Hub官方仓库(需要登录)
示例

docker tag test:latest user/test:latest
docker push user/test:latest

第一次上传时,会提示输入登录信息或进行注册,之后登录信息会记录到本地~/.docker目录下

总结

镜像操作的重要命令包括获取、查看、搜索、删除、创建、存出和载入、上传等。可通过docker image help命令查看docker支持的所有镜像操作子命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值