×

首页>讲师原创专区

教师图片

韩梅老师

29文章总数

78526总阅读数

查看Ta的文章>>

即学即用Docker(四):Docker镜像管理

发布于:2019年09月02日 浏览:951次 0

今天让我们来讲一下Docker的镜像,首先我们先了解一些概念


容器和镜像

 

如果曾经做过 VM 管理员,可以把 Docker 镜像理解为 VM 模板,而运行的VM就是容器

如果你是名研发人员,则可以将镜像理解为类(Class),而容器就是对象

用一句话来说镜像是容器的模板,容器是镜像的运行实例

 11.gif

 

镜像仓库服务

 

Docker 镜像存储在镜像仓库服务(Image Registry)当中。用户可以从Registry进行镜像下载和访问,可分为公有和私有两类Registry。

 

公有镜像仓库:

Docker Hub是Docker公司为公众提供的托管Registry。

Quay.io现为Red Hat下的公共托管Registry。

 

私有镜像仓库:

企业可以用Docker Registry构建私有的Registry。

Registry本身是一个开源项目,可以用于搭建私有Registry。

 

最常用的公用镜像仓库就是Docker Hub,Docker Hub是目前世界上最大的容器镜像仓库,由Docker公司维护,里面有Docker公司提供的镜像及大量用户上传的镜像。以下是它的地址

https://hub.docker.com/

 

 

Docker Hub的优点:

为开发者提供了海量Docker镜像,供免费下载学习和使用;

拥有完善的账户管理系统,为用户提供付费扩容;

服务器采用分布式部署,支持负载均衡;

支持镜像上传、下载、查询、删除及属性设置等多种操作;

支持在线编译镜像;

后端采用分布式存储,可容灾备份;

其核心是Docker distribution,在开源社区上设计维护,会不断更新和完善;

提供企业版Docker Hub,为企业级用户提供一站式解决方案。

 

镜像和分层

 

所有的 Docker 镜像都起始于一个基础镜像层,当进行修改或增加新的内容时,就会在当前镜像层之上,创建新的镜像层。最常用的base镜像是各Linux发行版的Docker镜像,如ubuntu、centos等。

 

举一个简单的例子,假如基于 Ubuntu Linux 16.04 创建一个新的镜像,这就是新镜像的第一层;如果在该镜像中添加 Python 包,就会在基础镜像层之上创建第二个镜像层;如果继续添加一个安全补丁,就会创建第三个镜像层。

 

该镜像当前已经包含 3 个镜像层,如下图所示(这只是一个用于演示的很简单的例子)。

 12.gif

所以,Docker 镜像由一些松耦合的只读镜像层组成。Docker 负责堆叠这些镜像层,并且将它们表示为单个统一的对象。

并且多个镜像之间可以共享镜像层,这样还可以有效节省空间并提升性能。

 

常用的镜像操作

 

拉取镜像:

从官方仓库拉取镜像时,docker image pull 命令的格式如下:

docker image pull <repository>:<tag>

 

示例:让我们拉取一个ubuntu吧

13.jpg

 

列出镜像:

docker images [OPTIONS] [REPOSITORY]

示例:

 15.jpg


查看镜像的详细信息:

docker inspect [OPTION] CONTAINER|IMAGE [CONTAINER|IMAGE...]

 16.jpg


查找镜像:

 

你想知道有哪些镜像,docker search命令楞以帮助我们搜索Docker Hub,以下示例

docker search [image_name][:tag]

 14.jpg


删除镜像:

docker rmi [OPTIONS] IMAGE [IMAGES...]

17.jpg

本周热文

推荐专题

专栏图标 专栏图标 专栏图标 专栏图标 专栏图标 专栏图标

我赢职场APP
扫码立即下载

  • 微信图标官方公众号
    二维码扫描二维码
    关注东方瑞通官方公众号
    小图标
  • 微信图标PMP公众号
    二维码扫描二维码
    关注东方瑞通PMP公众号
    小图标
  • 微信图标客服小瑞
    二维码扫描二维码
    添加东方瑞通客服小瑞
    小图标
  • QQ图标国际认证考试群 加入

PMI, PMP, Project Management Professional, CAPM, PgMP, PfMP, PMI-ACP, PMI-RMP, PMI-SP, PMI-PBA and PMBOK are registered marks of the Project Management Institute, Inc.

ITIL® is a registered trade mark of AXELOS Limited, used under permission of AXELOS Limited. All rights reserved.

PRINCE2® is a registered trade mark of AXELOS Limited, used under permission of AXELOS Limited. All rights reserved.

Copyright © 2006-2019 东方瑞通(北京)咨询服务有限公司版权所有

京ICP备 13009094号 京公网安备 11010802014211号