docker三要素

镜像,容器,仓库

镜像

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

容器

docker利用容器(container)独立运行一个或者一组应用。容器是利用镜像创建的运行实例(相当于Python中类和对象关系的概念)

它可以被启动、开始、停止、删除。每个容器都是互相隔离的,保证安全的平台。

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

容器的定义和镜像几乎一模一样,也是一层堆的统一视角,唯一区别是容器最上面一层是可读写的

仓库

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

仓库(repository)和仓库注册服务器(registry)是有区别的。仓库注册服务器上往往可以存放很多个仓库,每个仓库又包含了很多个镜像,每个镜像有不同的标签(tag)

仓库分为公开仓库(public)和私有仓库(private)两种形式

最大的公开仓库是docker hub( https://hub.docker.com/),存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等。

总结

需要正确的理解仓库,镜像,容器三个概念:

docker本身是一个容器运行载体或者称之为管理引擎。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就叫image镜像文件。 只有通过这个镜像文件才能生成docker容器。image文件可以看做是容器的模板。 docker根据image文件生成容器的实例。 同一个image文件,可以生成多个同时运行的容器实例。

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

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

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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28916011/viewspace-2212952/,如需转载,请注明出处,否则将追究法律责任。

docker 4 docker的三要素的更多相关文章

  1. Docker Note1——架构和三要素

    Docker官方文档: https://docs.docker.com/ 一.docker架构 C/S架构,主要由 client / daemon / containers / images 组成. ...

  2. Docker组成三要素

    目录 镜像 容器 仓库 总结 Docker的基本组成三要素 镜像 容器 仓库 镜像 Docker 镜像(Image)就是一个只读的模板.镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器. ...

  3. 2、docker安装:内核要求、docker三要素、安装、helloworld、底层原理

    1.前提说明 1.CentOS Docker 安装 Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 2.前提条件:内 ...

  4. Docker入门教程(三)Dockerfile

    Docker入门教程(三)Dockerfile [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第三篇,介绍了Dockerfile的语法,DockerOn ...

  5. Docker应用系列(三)| 构建Consul集群

    本示例基于Centos 7,在阿里云的三台机器上部署consul集群,假设目前使用的账号为release,拥有sudo权限. 由于Docker官方镜像下载较慢,可以开启阿里云的Docker镜像下载加速 ...

  6. docker从零开始网络(三) overly(覆盖)网络

    使用overly网络 该overlay网络驱动程序会创建多个docker进程主机之间的分布式网络.该网络位于(覆盖)特定于主机的网络之上,允许连接到它的容器(包括群集服务容器)安全地进行通信.Dock ...

  7. ubuntu安装docker,docker部署dotnetcore2.0 web应用(三)

    我是在本地安装的虚拟机 1.下载ubuntu18.0.4 iso镜像包 2.打开win10自带的Hyper-V管理器 3.创建新的虚拟机,引用ubuntu18.0.4 iso镜像包,一步步安装成功. ...

  8. Docker - 卷组管理(三)

    一.不指定宿主机目录 首先运行一个nginx容器 docker run -d --name mynginx -p 8080:80 -v /usr/share/nginx/html nginx --na ...

  9. Docker 学习笔记(三):数据、网络、系统权限、docker-compose

    一.Docker 数据管理 Docker 持久化数据有两种方式: 使用数据卷:更安全,和主机耦合度低 将主机的目录挂载到容器中:更方便,主机和容器可以很方便地交换数据. 数据卷相关的命令: docke ...

随机推荐

  1. blfs(systemd版本)学习笔记-构建google-chrome浏览器

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.google-chrome浏览器官网下载地址 我只找到了deb包和rpm包的下载地址 1.https://dl.google ...

  2. 利用js里的Dom和Date,自定义cookie的前端设置方法

    通过浏览器访问url时候浏览器会携带cookie,可利用cookie进行信息验证如用户验证,cookie前后端都可获取设置,后端用self.get_cookie和self.set_cookie,前端可 ...

  3. js 实现二级联动

    onchange 事件 <body> <select id="province" onchange="func1()"> <opt ...

  4. GIS开发之计算四参数,七参数

    一.四参数 想要通过控制点计算四参数,首先需要知道四参数的相关原理,推荐这篇文章: http://www.docin.com/p-1197326043.html 根据上面的计算公式,使用最小二乘法计算 ...

  5. Linux 源码阅读 进程管理

    Linux 源码阅读 进程管理 版本:2.6.24 1.准备知识 1.1 Linux系统中,进程是最小的调度单位: 1.2 PCB数据结构:task_struct (Location:linux-2. ...

  6. php 接口与前端数据交互实现

    最近在做前后端数据交互的尝试,也跳了很多坑,使用的是php+bootstrap-table+js,把一些收获记录在这里,方便查询. 这个小项目,仅有3个文件,分别为: crud.html data.p ...

  7. [20181225]12CR2 SQL Plan Directives.txt

    [20181225]12CR2 SQL Plan Directives.txt --//12C引入SQL PLAN Directives.12cR1版本会造成大量的动态取样,影响性能.许多人把OPTI ...

  8. shell编程—注释、字符串和数组(四)

    shell注释 以#作为注释符号 shell中没有多行注释,只能一行加一个#号 字符串操作 1.拼接字符串 2.获取字符串长度 string=“khjf” echo ${#string} 3.提取子字 ...

  9. LeetCode算法题-Single Number(Java实现)

    这是悦乐书的第175次更新,第177篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第34题(顺位题号是136).给定一个非空的整数数组,除了一个元素外,每个元素都会出现两 ...

  10. 强大而灵活的字体图标替代库iconfont

       前言概述 在开发网页制作过程中通常需要一些网页小图标,前端需要PS切图,将单个小图标icon组合成CSS雪碧图过程中,需要一些时间和精力; 如果网页制作中需要的小图标icon有一套css框架库集 ...