docker镜像的基本认识和使用

  1. 获取docker镜像
    命令格式为 docker [image] pull NAME[:TAG],其中NAME是镜像仓库名称,用于区分镜像,而TAG用于区分镜像的版本。一般情况下,我们使用"名称+标签"的方式来描述一个镜像,例如:获取一个ubuntu18.04的镜像:
    [root@localhost ~]#docker pull ubuntu:18.04
    特别需要注意的是,如果不带TAG,那么会下载镜像仓库里面最新的版本。所以,在实际生产环境中,不要使用不带标签的镜像拉区方式
    1.1 pull子命令支持的选项主要包括
    :-a,–all-tags=true|false:是否获取镜像仓库的所有镜像
    : --disable-content-trust:取消镜像的内容校验,默认为取消
    : --registry-mirror=proxy_url:使用镜像代理服务来加快镜像的拉取

  2. 查看镜像信息
    [root@localhost ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    ubuntu 18.04 4eb8f7c43909 3 weeks ago 63.1MB
    其中几个字段的含义如下:
    REPOSITORY :表示来源于哪一个仓库
    TAG :镜像的标签信息
    IMAGE ID :镜像的id(唯一识别镜像),如果两个镜像id一样,说明是同一个镜像,不同标签名称
    CREATED:镜像最后的更新时间,不是拉取的时间
    SIZE:镜像大小
    2.1 images子命令主要选项
    :-a --all=true|false 列出所有镜像,包括镜像
    :–digests=true|false 列出所有镜像的数字摘要,作用是安全校验。
    :-f --filter=[] 过滤镜像操作
    :–format=‘TEMOLATE’ 控制输出格式
    :–no-trunc=true|false 对输出结果中太长的部分进行截断
    :-q --quite=true|false 仅输出id信息
    2.2使用tag命令添加镜像标签
    [root@localhost ~]# docker tag ubuntu:18.04 myubuntu:1.0
    在这里插入图片描述
    2.3 使用inspect命令查看镜像的详细信息
    docker inspect [image] 返回的是一个json格式,例如构建镜像时docker的版本
    [root@localhost ~]# docker inspect -f "{{.DockerVersion}}" ubuntu:18.04
    19.03.12
    2.4 使用history命令查看镜像各层历史
    [root@localhost ~]# docker history ubuntu:18.04

  3. 搜索镜像
    docker search image
    :-f --filter filter 过滤输出了内容
    :–format string 格式化内容输出
    :–no-trunc 不截断输出结果
    例如:搜索官方镜像:
    docker search -f is-official=true centos 或者
    docker search --filter=is-official=true centos都是一样的

  4. 删除和清理镜像
    4.1 删除镜像 docker rmi image
    支持的选项包括:
    :-f -force 强制删除镜像,即使有容器依赖它
    :-no-prune 不要清理未带标签的父标签 prune是修剪镜像、容器、卷和网络的残留垃圾 docker image prunc清楚自动清理临时的遗留镜像文件层
    docker image prune -a 删除所有没有被容器使用的镜像,可以添加filter进行筛选docker image prune -a --filter "until=24h"只删除 24 小时前创建的镜像

  5. 创建文件
    三种构建方式,1 基于已有的容器创建,2 基于本地模板的导入,3 dockerfile创建
    5.1基于已有的容器创建
    docker [container] commit [options] ccontainer [repositore[:tag]]
    可选项
    :-a --author="" 作者信息
    :-c --change=[] 提交的时候执行dockerfile指令
    :-m --message="" 提交信息
    :-p --pause=true 提交时暂停容器运行
    启动一个容器:
    [root@localhost opt]# docker run -it ubuntu:18.04 /bin/bash
    root@4ee9ab5913bb:/# mkdir -p /root/dockercpmmit
    root@4ee9ab5913bb:/# exit
    使用刚刚这个容器创建镜像:
    docker commit -m "add a new file /root/dockercommit" -a "committest" 4ee9ab5913bb commit:1
    查看镜像
    [root@localhost opt]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    commit 1 519d2fb5b8f0 24 seconds ago 63.1MB
    5.2 基于本地模板导入
    可以使用从一个操作系统模板文件带入一个镜像
    例如,导入一个apache-tomcat-7.0.108.tar.gz形成一个docker文件
    [root@localhost opt]# cat apache-tomcat-7.0.108.tar.gz | docker import - tomcat:7.0.108
    [root@localhost opt]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    tomcat 7.0.108 f2416a95cf3f 8 seconds ago 14.6MB
    5.3 基于dockerfile创建镜像文件
    这个方法是最常用的构建docker镜像的方法,这里篇幅不够展开
    6:存出和载入镜像
    6.1 存出镜像
    docker save -o commit:1.tar commit:1
    查看相对目录下面文件
    在这里插入图片描述
    6.2载入镜像
    可以使用docker load将tar文件导入本地镜像库中
    [root@localhost opt]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    tomcat 7.0.108 f2416a95cf3f 25 minutes ago 14.6MB
    ubuntu 18.04 4eb8f7c43909 3 weeks ago 63.1MB
    centos none 8652b9f0cb4c 6 months ago 204MB
    centos 6 d0957ffdf8a2 2 years ago 194MB
    [root@localhost opt]# docker load < commit\:1.tar
    56eb926dac74: Loading layer [==================================================>] 3
    [root@localhost opt]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    tomcat 7.0.108 f2416a95cf3f 26 minutes ago 14.6MB
    commit 1 519d2fb5b8f0 33 minutes ago 63.1MB
    6.3上传镜像 默认上传到https://hub.docker.com/上,所以需要注册账号。
    我的账号名称baohuagui
    需要将上传的进行镜像tag重命名,符合hub.dcker后才能上传
    docker tag committest:1.0 baohuagui/committest
    上传:docker push baohuagui/committest:latest 可能有点慢,等一下就可以了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一个好孩子[:o)

有问题 滴滴我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值