1:查看镜像列表

2:拉取镜像

   通过命令可以从镜像仓库中拉取镜像,默认从Docker Hub 获取。

命令格式:

docker image pull <repository>:<tag>

拉取ubuntu仓库,标签为 latest 的镜像,如果省略标签,则docker 会拉取标签为latest的镜像。获取非官方镜像的命令类似,例如:

docker image pull microsoft/dotnet:latest

docker image pull -a  nigelpoulton/tu-demo    //添加 -a 参数可以拉取仓库中所有镜像

3:docker image ls 详解

     docker image ls --filter [dangling|before|since|lable|reference]

dangling: 值为true或false,true 仅返回悬虚镜像,false仅返回非悬虚镜像。悬虚镜像:指没有标签的镜像。

before:需要镜像名或镜像ID作为参数,返回之前创建的全部镜像。

since:需要镜像名或镜像ID作为参数,返回之后创建的全部镜像。

lable:根据标注的名称或值过滤。略

reference:根据repository和tag搜索,貌似*只能搜一级空间的镜像

4:搜索镜像

按照官方或非官方过滤,使用 --filter "is-official=true|false"

docker search ubuntu --filter "is-official=true"  //只显示官方镜像

显示是否为自动创建的镜像

docker search ubuntu --filter "is-automated=true"  //只自动创建的仓库

5:查看镜像分层

输入命令:docker image inspect ubuntu:latest

输出:

[
    {
        "Id": "sha256:3556258649b2ef23a41812be17377d32f568ed9f45150a26466d2ea26d926c32",
        "RepoTags": [
            "ubuntu:latest"
        ],
        "RepoDigests": [
            "ubuntu@sha256:c303f19cfe9ee92badbbbd7567bc1ca47789f79303ddcef56f77687d4744cd7a"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2019-07-23T15:21:13.01464074Z",
        "Container": "3b0e1c94bfe8f2670577cad66142287be14f02c7e49e9d1710073f6b8733bb48",
        "ContainerConfig": {
            "Hostname": "3b0e1c94bfe8",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"/bin/bash\"]"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:6dd4850db8211ac5177f2729ad131f65d6472e95248c92b7fb95acfc609794e7",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "18.06.1-ce",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/bash"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:6dd4850db8211ac5177f2729ad131f65d6472e95248c92b7fb95acfc609794e7",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": null
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 64185514,
        "VirtualSize": 64185514,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/mnt/sda1/var/lib/docker/overlay2/a6003e3ac734728a7ac69eb19453892ad619d1d23f246730c1c59e542f1277c6/diff:/mnt/sda1/var/lib/docker/overlay2/25fc962c359839b2565d1208e2558fa0afd676529ee4b18c87e9346466159feb/diff:/mnt/sda1/var/lib/docker/overlay2/5cc4ecda8dabb8415a0e316a09326a04414e5aefe7a5ee885f6af52838ddce91/diff",
                "MergedDir": "/mnt/sda1/var/lib/docker/overlay2/70dbca5fd3a27da47ff110d91b1b146a905b8e741871db773bfb6a5dc65299e3/merged",
                "UpperDir": "/mnt/sda1/var/lib/docker/overlay2/70dbca5fd3a27da47ff110d91b1b146a905b8e741871db773bfb6a5dc65299e3/diff",
                "WorkDir": "/mnt/sda1/var/lib/docker/overlay2/70dbca5fd3a27da47ff110d91b1b146a905b8e741871db773bfb6a5dc65299e3/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:543791078bdb84740cb5457abbea10d96dac3dea8c07d6dc173f734c20c144fe",
                "sha256:c56e09e1bd18e5e41afb1fd16f5a211f533277bdae6d5d8ae96a248214d66baf",
                "sha256:a31dbd3063d77def5b2562dc8e14ed3f578f1f90a89670ae620fd62ae7cd6ee7",
                "sha256:b079b3fa8d1b4b30a71a6e81763ed3da1327abaf0680ed3ed9f00ad1d5de5e7c"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

在json节点RootFS可以看出ubuntu镜像有四层

6:删除镜像

参考书目《深入浅出Docker》

下一篇 :使用Docker之容器的创建、删除

使用Docker之镜像的拉取、查询、删除的更多相关文章

  1. 【docker】centos7 上拉取docker镜像,一直拉取不到,报错:Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while w

    镜像拉取一直报错: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request cancel ...

  2. Portainer安装,配置自定义镜像仓库拉取镜像

    Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台 ...

  3. docker每次都重新拉取远程镜像的问题

    将镜像上传到远程之后,dockerfile按理来说只需一次拉取远程镜像就好了,之后每次都是使用第一次拉取的远程镜像. 但是实际上出现的问题是:dockerfile每次都从远程拉取镜像,浪费了资源和时间 ...

  4. 利用docker hub做中转拉取google的k8s镜像

    1.背景 部署kubernetes,需要FQ.但是在初始化的时候,即是FQ了有的镜像pull依然会超时,导致初始化失败.而你又不想使用国内的一些镜像源,因为更新不及时.很多新功能和插件都不会包括,只想 ...

  5. IDEA github 上传项目, 拉取, 删除

    1.IDEA登录github账号 settings -> Version Controller -> GitHub 用户名密码登录 或token登录都可以 2.VCS -> impo ...

  6. [git]本地查看,重命名,拉取,删除远程分支

    1.git branch -a 查看所有的分支,包含远程仓库.-av:同时显示最近的一个commit信息. 2.git checkout -b newBranch origin/master 拷贝一份 ...

  7. docker(三) 镜像和容器常用命令

    一.镜像操作 1.搜索镜像 可以直接在Docker Hub 直接搜索镜像,当然也可以使用命令来搜索. docker search 名称 docker search tomcat 2.拉取镜像 dock ...

  8. CentOS7下 让Docker pull命令使用squid做http代理拉取目标镜像仓库的镜像

    场景,如下图所示: 服务器B具有两个网卡,分别和服务器A和服务器C互通,这里想要在服务器C上借助服务器B作为桥梁,拉取镜像仓库服务器A上的镜像. 思路也很简单,在服务器上搭建HTTP代理服务,服务器C ...

  9. 【docker】【mysql】docker安装mysql,阿里云docker镜像加速器,docker搜索查看远程仓库上的镜像,docker拉取镜像,查看本地所有镜像,查看容器的运行状况,查看容器的详细信息

    在docker上安装mysql有两种方式 1.通过Dockerfile构建 2.直接在docker hub上拉取镜像安装 =================本篇采用方法2=============== ...

随机推荐

  1. HeadFirst设计模式---装饰者

    定义装饰者模式 装饰者模式动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案.这句话摘自书中,给人读得很生硬难懂.通俗地来说,装饰者和被装饰者有相同的父类,装饰者的行为组装着 ...

  2. windows 如何cmd启动redis

    运行cmd 然后到redis路径 运行命令: redis-server redis.windows.conf

  3. 5.4 RDD编程---综合案例

    一.求top值 任务描述:求出多个文件中数值的最大.最小值 二.求最大最小值 任务描述:求出多个文件中数值的最大.最小值 解题思路:通过一个人造的key,让所有的值都成为“key”的value-lis ...

  4. 使用hutool工具类进行导出

    引入依赖为: <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</ ...

  5. swarm 集群

    1.创建manage节点 $docker swarm init --advertise-addr=192.168.0.38(主机ip) To add a worker to this swarm, r ...

  6. ionic-环境搭建-入门

    环境搭建 1.官方推荐: npm install -g cordova ionic 使用npm国内安装小坑,下载慢,还是失败 2.先安装cnpm,使用淘宝镜像:: npm install -g cnp ...

  7. F5 开发

    产品试用申请 https://www.f5.com/trials 默认终端登录密码 root/default 默认网页登录信息 admin/admin logstash添加user agent插件 h ...

  8. <LinkedList> 160

    160. Intersection of Two Linked Lists 分别从AB循环两次.如果第一次没循环到,第二次就会在节点相遇. public class Solution { public ...

  9. STL map 简介

    STL map 简介 转载于:http://www.cnblogs.com/TianFang/archive/2006/12/30/607859.html 1.目录 map简介 map的功能 使用ma ...

  10. MySQL实战45讲学习笔记:第七讲

    一.上节回顾今日计划 在上一篇文章中,我跟你介绍了 MySQL 的全局锁和表级锁,今天我们就来讲讲 MySQL的行锁. MySQL 的行锁是在引擎层由各个引擎自己实现的.但并不是所有的引擎都支持行锁, ...