Docker基本须知

以下来自docker_practice.pdf中的相关描述。

Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!

github ref: https://github.com/yeasy/docker_practice

Docker包括三个基本概念

镜像(Image)

容器(Container)

仓库(Repository)

理解了这三个概念,你就基本理解了Docker的整个生命周期!

先不急着解释,以下是一些类比,对初学者有很大帮助

类比1: Image是盗版的xp安装光盘,Container是装在你笔记本上的c:/windows目录

类比2: Image和Container的关系,就好比面向对象的类 与 实例的关系

类比3:从局部去看,Image和Container的区别在于是不是运行期,run了就是Container,不run就是Image。其实run的时候创建了一个可写的Image在mount上

类比4:Image和Container就是可执行文件和进程的关系,实际上,Image里是一堆bin文件,而运行中的Container就是一组进程。

对此,Jerome是这么解释的

An image is read only.It is like a template,a model.

From the image,you can create one or many containers,The containers are read write.

Another analogy:the image is like a blueprint,and the container is the execution of the blueprint.

可以这么理解

1,Image和Container是1对n,n>=1

2,Image是静态的Template/blueprint 而Container是Image的execution实例化

相信,你已经有了一些基本的理解了!

Docker Image

众所周知,操作系统分为内核和用户空间,对Linux而言,内核启动后,会挂载root文件系统为其提供用户空间支持。而Docker iamge 就相当于是一个root文件系统,比如官方镜像ubuntu:14:04 就包包含了完整的一套Ubuntu 14:04最小系统的root文件系统。

Docker镜像是一个特殊的文件系统,不包含任何动态数据,其内容在构建后就不会改变。

镜像包含操作系统的完整的root文件系统,其体积往往是庞大的,因此Docker设计时,就充分利用Union FS的技术,将其设计为分层存储的架构,所以,严格说,镜像并非是像一个iso那样的打包文件,而是一个虚拟的概念,其实际体现并非有一个文件组成,而是一组文件系统组成,镜像构建时,会一层层构建,前层是后一层的基础,每层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。比如,删除前一层文件的操作,实际不是真删除前一层,而是在当前层标记前一层已删除。

Docker Container

容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行属于自己的独立的命名空间,因此容器可以拥有自己的root文件系统,自己的网络配置,自己的进程空间,甚至自己的用户ID空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。也因为这种隔离的特性,很多初学Docker时常常会把容器和虚拟机搞混!

  镜像使用的是分层存储,容器也是,每个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层(可以理解为容器运行时为读写准备的存储层) 容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡,因此,任何保存在容器存储层的信息都会同容器删除而丢失。Docker推荐使用 数据卷Volume 或者绑定宿主目录,在这些位置的读写会跳过容器存储层。

Docker Registry

  镜像构建完成后,就可以很容易的在当前宿主上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中存储,分发镜像的服务-- Docker Registry

  一个Docker Registry中可以包含多个仓库Repository,每个仓库可以包含多个标签Tag

每个标签对应一个镜像。

  通常一个仓库会包含一个软件的不同版本镜像,而标签就相当于版本号,通过<仓库名>:<标签>的格式来确定软件的版本,如果没有标签,则默认为latest为默认标签

对Ubuntu为例,ubuntu:14:04 包含了仓库名ubuntu和标签14:04,仓库名一般是两段式路径

比如 jwilder/nginx-proxy 前段代表了Docker registry多用户环境下的用户名,后者代表软件名(非必需遵守)。

Docker Registry 公开服务

该服务是开放给用户使用,允许用户管理镜像的Registry服务,一般这类公开服务允许用户免费上传,下载公开的镜像,并提供收费服务供用户管理私有镜像。

  最常用的Registry公开服务是官方的Docker Hub,也是默认的Registry,并拥有大量高质量的官网镜像,国内的镜像站点也是同步的该站资源。但由于国内访问这些服务比较慢,国内一些云服务商提供了针对Docker Hub的镜像服务Registry Mirror 被称为加速器。

常见的有 时速云,网易云,DaoClound,阿里云等

Docker Registry 私有服务

  除了公开服务外,用户可以使用本地搭建的私有Registry,就像搭建maven私服一样。Docker官方提供了Docker Registry镜像,可以直接使用做为私有Registry服务,还有第三方软件实现了Docker Registry API,甚至提供了用户界面以及一些高级功能。比如VMWare Harbor和Sonatype Nexus

....未完,待续

dockerfile  iamges container repository

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容