一、查看本地镜像

只有下载后,镜像才会保存在本地(docker环境所在的主机),通过如下命令可以查看本地已经存在的镜像。

命令:dokcer images

上面命令列出本地所有已经存在的镜像,显示的信息如:

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu latest ce76de2e871b days ago MB

说明:docker images 命令可带参数,是个字符串,可以带通配,只显示过滤的镜像。

二、镜像中心

本地的镜像是从远程镜像中心(Registry)下载到本地的,默认的镜像中心是docker公司负责运营的docker hub中心。

在远程镜像中心,镜像是保存在仓库(Repository)中,仓库存在镜像中心(Registry)中。

每个镜像都有一个唯一的ID号。 一个仓库(如上面的ubuntu)中有多个镜像,通过tag标识来区分不同镜像,一个仓库中的镜像通常是同一种类型的镜像,只是不同版本的区别。换句话说,镜像时由仓库名和tag标识来共同决定的。

docker hub中有两种类型的镜像:用户仓库(user repository)和顶层仓库(top-level  repository)。用户仓库的镜像是有docker用户创建的。顶层仓库是有docker公司内部管理的。

用户仓库的命名由用户名和仓库名两部分组成(中间用/分隔);而顶层仓库只有仓库名,如ubuntu仓库。

总结一下,镜像名称的标准格式是:  用户名/仓库名:Tag名,对于顶层的则没有用户名,如果省略tag名,默认为latest.

说明:也可以搭建私服的镜像中心,供企业内部使用。

三、在docker hub中心查找仓库

通过docker search命令可以查找docker hub上所有公共的可用仓库。

可以带一个字符串参数(支持通配),用于查找满足命名的仓库。

举例:docker search mysql

显示的内容如:

NAME                       DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql MySQL is a widely used, open-source relati... [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Crea... [OK]
centurylink/mysql Image containing mysql. Optimized to be li... [OK]
sameersbn/mysql [OK]
google/mysql MySQL server for Google Compute Engine [OK]
appcontainers/mysql Centos/Debian/Ubuntu Based Customizable My... [OK]
...................

返回的每条记录代表一个镜像。包含5个字段信息:
1)Name:镜像的仓库名。可以看出顶层仓库只有第一个镜像是。其它的都是用户仓库。

2)Description:仓库的描述信息

3)Stars:用户评价,反映一个仓库受欢迎的程度

4)Offical:是否官方,即是否是顶层仓库。可以看出,只有第一个镜像是顶层仓库。

5)Automated:表示这个镜像是由docker hub自动构建的。

四、下载镜像

通过docker run方法是创建容器,如果指定的镜像在本机不存在,则会先去下载镜像。

可以通过docker pull命令只下载镜像,不创建容器。

命令: docker pull  [用户名/]仓库名[:TAG]

含义: 如果只指定仓库名,会下载该仓库下的所有镜像。如果还指定了TAG值,则会下载指定的镜像。

对于dokcer run命令,只指定仓库名,不指定tag时,默认下载的是 latest标识的镜像。

举例:

xxx@ubuntu:~$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest ce76de2e871b days ago MB
xxx@ubuntu:~$ docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql 73e8d4f6bf84: Pull complete
040bf8e08425: Pull complete
86e6c3163927: Pull complete
68f4b3625ea4: Pull complete
04f7e78a2c8a: Pull complete
1bade56c3b6b: Pull complete
dd6387e14c18: Pull complete
ca30c0626c9b: Pull complete
0dc5e226a795: Pull complete
6c164b0f04cb: Pull complete
5c74d058f7b5: Pull complete
0fd3b6e12567: Pull complete
e8126a9d061e: Pull complete
d17cffff8039: Pull complete
1924f4186d05: Pull complete
14961e5db73a: Pull complete
Digest: sha256:16de02081c408c41361126aaa718f91693688d39a216a74ac8dab841db050228
Status: Downloaded newer image for mysql:latest
xxx@ubuntu:~$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
mysql latest 14961e5db73a days ago 361.3 MB
ubuntu latest ce76de2e871b days ago MB

镜像下载后,就可以通过docker run命令创建相应的容器了。

五、镜像的复制

一个镜像是属于一个仓库,一个仓库中有多个镜像,大家靠tag来区分。

在某些场景下,可能需要把一个已有的镜像 加入(也就是复制)到别的仓库中。这时可以用tag命令。具体的语法格式是:

docker tag [OPTIONS] orignIMAGE[:TAG] [REGISTRYHOST/][USERNAME/]newNAME[:TAG]

这个还是挺有用的,比如当创建一个镜像,命名不适合(仓库名和TAg标识),这样相当于改个名,但实际是拷贝一份。

docker学习笔记3:镜像操作(查找和下载)的更多相关文章

  1. docker学习笔记2--对镜像/容器的命令操作

    Docker启动一个Centos镜像 我们下载完成一个Centos镜像之后,开始启动 docker run -d -i -t <imageID> /bin/bash 这样就能启动一个一直停 ...

  2. Docker学习笔记之镜像与容器

    0x00 概述 镜像和容器作为 Docker 里最基础的概念,我们很有必要了解 Docker 对它们的很多定义以及其他与它们有关的知识.在这一小节里,我们就专门针对镜像与容器两个概念展开,细致的梳理与 ...

  3. Docker学习笔记:镜像、容器、数据卷

    核心概念 镜像:一个只读的模板,类似虚拟机的镜像. 容器:可以理解为镜像的一个运行实例.运行时类似于沙箱,多个容器互相独立. 仓库:存放镜像文件的地方. 镜像 命令表格 命令 解释 选项 docker ...

  4. docker学习笔记-常用镜像相关命令

    docker images # 1.使用 [root@iZbp13qr3mm4ucsjumrlgqZ ~]# docker images REPOSITORY TAG IMAGE ID CREATED ...

  5. Docker学习笔记-CentOS7镜像

    前言: 环境:centos7.5 64 位 正文: 第一步:下载centos7镜像 docker pull centos 第二步:建立centos7的容器 sudo docker run --priv ...

  6. Docker学习笔记--2 镜像的创建

    如果我们需要在Docker环境下部署tomcat.redis.mysql.nginx.php等应用服务环境,有下面三种方法: 1,根据系统镜像创建Docker容器,这时容器就相当于是一个虚拟机,进入容 ...

  7. docker学习笔记(3)- 镜像

    简介 在docker学习笔记(1)- 架构概述一节中可以看到镜像是docker三大组件之一,可以将Docker镜像类比为虚拟机的模版. 镜像由多个层组成,每层叠加之后从外部看就像一个独立的对象,镜像的 ...

  8. Docker学习笔记之一,搭建一个JAVA Tomcat运行环境

    Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...

  9. Docker学习笔记总结

    Docker学习笔记 https://yeasy.gitbooks.io/docker_practice/content/   一 环境搭建 Ubuntu安装 .添加软件源的GPG密钥 curl -f ...

  10. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...

随机推荐

  1. <input type="text">文本输人框

    type类型: text  文本框 password  口令密码输人框 reset  重置或清除 buttou  命令按钮 checkbox  复选框 radio  单选框 submit  提交 fi ...

  2. 11个实用但你可能不知道的Python程序库

    目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们.单单PyPi上就有超过47000个包列表. 现在,越来越多的数据科学家开始使用Python,虽然他们从pandas,scikit- ...

  3. 更新Windows Azure Web Site中的Orchard版本

    官方建议大家使用本地副本来更新 1.首先做个全站备份,这样更新好以后出问题你就很容易回滚 . Web Site 做备份很方便.把网站SCALE设置到STANDARD,然后在BACKUPS页面里面点备份 ...

  4. VC++实现生成右键菜单及添加图标

    用VC++实现弹出菜单比较简单,这里介绍其中的一种来实现一个鼠标右键弹出菜单,效果如下图所示: 步骤: 一.新建一个基于对话框的MFC应用程序-----PopMenu 二.添加一个菜单资源------ ...

  5. Cocos2d-x win7 + vs2010 配置图文详解(亲测)

    下载最新版的cocos2d-x.打开浏览器,输入cocos2d-x.org,然后选择Download,本教程写作时最新版本为cocos2d-1.01-x-0.9.1,具体下载位置如下图: 下载完之后, ...

  6. EBS动态创建账户组合实现

    目的:使用程序动态创建账户组合.如果账户组合存在的话,返回存在的ID,不存在的话就动态创建账户组合并返回id. 实现步骤: 1. 得到账簿的CHART_OF_ACCOUNTS_ID 2. 得到账户弹性 ...

  7. 如何查看.Net源代码vs版本号以及C#项目中各文件的含义

    查看.Net源代码vs版本号以及C#项目中各文件的含义 用记事本打开vs项目的.sln文件. 第2行就是这个源代码包的开发软件vs版本号了 注意了,如果是vs2003的sln文件通常没有这行,可以判断 ...

  8. JavaEE Tutorials (4) - 企业bean入门

    4.1创建企业bean52 4.1.1编写企业bean类53 4.1.2创建converter Web客户端53 4.1.3运行converter示例544.2修改Java EE应用55 4.2.1修 ...

  9. Windows Azure 社区新闻综述(#75 版)

    欢迎查看最新版本的每周综述,其中包含有关云计算和 Windows Azure 的社区推动新闻.内容和对话.以下是本周的亮点. 文章.视频和博客文章 ·   PowerShell 对 Windows A ...

  10. Uva 10935 Throwing cards away I

    题目意思:有N张牌,标号为1~N,且牌以叠好,从上到小就是标号1-N的牌,只要牌堆数量大于等于2的时候,就采取如下操作:将最上面的牌扔掉(即离开牌堆).刚才那张牌离开后,再将新的最上面的牌放置于牌堆最 ...