docker三要素

镜像、容器、仓库为docker的三要素。

首先,我们来了解一下docker容器实例吧。

 

所谓的镜像就是Book,在java里面叫做(类模板),所谓的new Book();基于同一份镜像模板,基于同一项java对象弄出来的,不同的实例对象,模板均来自同一份,等号左边叫类模板,等号右边叫整体叫做实例对象。

 Docker是一种容器引擎,它上面驮着一个一个集装箱,每一个集装箱就是我们的容器实例,一个个容器实例来自哪里呢?来自于镜像,假设我们的docker,鲸鱼背上是个redis,java是new出来,而docker是run出来,根据同一份镜像,类似鲸鱼背上的集装箱,就是一个容器实例

Docker镜像(image)

Docker镜像(image)就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。

它相当于是一个root文件系统。比如官方镜像CentOS7就包含了一套CentOS7最小系统的root文件系统。

相当于容器的“源代码”,docker镜像文件类似于Java的类模板,而docker容器实例类似于java中new出来的实例对象。

容器与镜像的关系类似于面向对象编程中的对象与类。

容器(container)

1. 从面向对象角度

Docker利用容器(container)独立运行一个或一组应用,应用程序或服务运行在容器里面,容器就类似于一个虚拟化的运行环境,容器是用镜像创建的运行实例。就像是Java中的类和实例对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器为镜像提供一个标准的和隔离的运行环境,它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

2. 从镜像容器角度

可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间好网络空间等)和运行在其中的应用程序。

 

仓库(Repository)是集中存放镜像文件的场所。

类似于

Maven仓库,存放各种jar包的地方;

GitHub仓库,存放各种git项目的地方;

Docker公司提供的官方registry被称为Docker Hub,存放各种镜像模板的地方。

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

最大的仓库是Docker Hub(Docker Hub)

存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等

需要正确的理解仓库/镜像/容器这几个概念:

Docker本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好一个可交付的运行环境,这个打包好的运行环境就是image镜像文件。只通过这个镜像文件才能生成Docker容器实例(类似Java中new出来一个对象)。

image文件可以可以看作是容器的模板。Docker根据image文件生成容器的实例。同一个image文件,可以生成多个同时运行的容器实例。

镜像文件

  • image文件生成的容器实例,本身也是一个文件,称为镜像文件。

容器实例

  • 一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应运行实例,也就是我们容器

仓库

  • 就是放一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候再从仓库中拉下来就可以了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值