Docker精华问答 | Docker镜像和Docker容器的关系?

640?wx_fmt=png

毫无疑问,Docker成了近些年来最火热,甚至最具颠覆性的技术之一。国际上,所有泛云计算相关的公司,几乎都在某种程度上宣布支持并集成Docker。在2014年6月的DockerCon中,很多公司都分享了他们自己如何和Docker集成的故事。


640?wx_fmt=gif1

Q:什么是Docker镜像


A:从整体的角度来讲,一个完整的Docker镜像可以支撑一个Docker容器的运行,在 Docker容器运行过程中主要提供文件系统视角。例如一个ubuntu:14.04的镜像,提供了一个基本的ubuntu:14.04的发行版,当然此 镜像是不包含操作系统Linux内核的。

以上内容是从宏观的角度看看Docker镜像是什么,我们再从微观的角度进一步深入 Docker镜像。刚才提到了“Debian镜像中安装MySQL 5.6,就成了mysql:5.6镜像”,其实在此时Docker镜像的层级概念就体现出来了。底层一个Debian操作系统镜像,上面叠加一个 mysql层,就完成了一个mysql镜像的构建。层级概念就不难理解,此时我们一般debian操作系统镜像称为mysql镜像层的父镜像。

Docker有两方面的技术非常重要,第一是Linux 容器方面的技术,第二是Docker镜像的技术。从技术本身来讲,两者的可复制性很强,不存在绝对的技术难点,然而Docker Hub由于存在大量的数据的原因,导致Docker Hub的可复制性几乎不存在,这需要一个生态的营造。


640?wx_fmt=gif2

Q:Docker镜像的内容


A:介绍之前,我先分享一下,我个人在接触Docker的两年时间中,对Docker镜像内容认识的变化。

第一阶段:初步接触Docker。相信很多爱好者都会和我一样,有这样一个认识:Docker 镜像代表一个容器的文件系统内容;

第二阶段:初步接触联合文件系统。联合文件系统的概念,让我意识到镜像层级管理的技术,每一层镜像都是容器文件系统内容的一部分。

第三阶段:研究镜像与容器的关系:容器是一个动态的环境,每一层镜像中的文件属于静态内 容,然而 Dockerfile 中的 ENV、VOLUME、CMD 等内容最终都需要落实到容器的运行环境中,而这些内容均不可能直接坐落到每一层镜像所包含的文件系统内容中,那此时每一个Docker镜像还会包含 json文件记录与容器之间的关系。

因此,Docker镜像的内容主要包含两个部分:第一,镜像层文件内容;第二,镜像json文件。


640?wx_fmt=gif3

Q:Dockerfile、Docker镜像和Docker容器的关系


A:Dockerfile 是软件的原材料,Docker 镜像是软件的交付品,而 Docker 容器则可以认为是软件的运行态。从应用软件的角度来看,Dockerfile、Docker 镜像与 Docker 容器分别代表软件的三个不同阶段,Dockerfile 面向开发,Docker 镜像成为交付标准,Docker 容器则涉及部署与运维,三者缺一不可,合力充当 Docker 体系的基石。

单来讲,Dockerfile构建出Docker镜像,通过Docker镜像运行Docker容器。


640?wx_fmt=gif4

Q:为什么一个ubuntu:14.04镜像的镜像层的数量是4个,前三层的内容似乎有相同的,如etc?


A:虽然三层 都有,但是会存在两种情况,etc的子目录下有相同路径的文件,那么上层的会覆盖下层的文件;如果内部的文件路径不相同,那么都会存在,都会呈现给最上层。

640?wx_fmt=gif5

Q:如何保证仅有的一个deamon的稳定性健壮性?


A:分布式系统需要大量机器协作,面临诸多的挑战:

第一,异构的机器与网络:

分布式系统中的机器,配置不一样,其上运行的服务也可能由不同的语言、架构实现,因此处理能力也不一样;节点间通过网络连接,而不同网络运营商提供的网络的带宽、延时、丢包率又不一样。怎么保证大家齐头并进,共同完成目标,这四个不小的挑战。

第二,普遍的节点故障:

虽然单个节点的故障概率较这个问题首先需要知道docker daemon的稳定性在哪些方面,那种场景下比较差?的确,docker daemon存在弊病。比如,daemon和容器的耦合等,目前general来讲,docker daemon保证绝对的稳定应该还做不到。


640?wx_fmt=png

小伙伴们冲鸭,后台留言区等着你!

关于Docker,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~


福利

1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:

  • 一场全能的开发者大会,来自助力开发者成功进阶的华为云

  • 抖音微博等短视频千万级高可用、高并发架构如何设计?

  • 20大5G关键技术

  • Fast.ai:从零开始学深度学习 | 资源帖

  • 10个简单小窍门带你提高Python数据分析速度(附代码)

  • 程序员爬取 3 万条评论,《长安十二时辰》槽点大揭秘!

  • 暗网竟成比特币最大用户? 上半年5.15亿美元被用于非法活动


    真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大道至简,阿里巴巴敏捷教练的电子看板诞生记

摘要: 经历了从物理看板到电子看板的反复实践,阿里巴巴敏捷教练问菊体会最深的是“大道至简”,她说:“堆砌复杂的功能是容易的,提供简单方便的用户体验是困难的。”那么阿里巴巴的电子看板是如何诞生的呢?从…

第1篇:Flowable简介

采用springbootflowable快速实现工作流 文章目录一、什么是BPMN?二、什么是Flowable?2.1. 官方描述如下2.2. 大白话理解2.3. 官方在线文档2.4. Flowable官网2.5. Flowable开源代码仓库2.6. Flowable 最新版本(V6.4.2)截止目前下载地址2.6.1. Tomcat 版本…

阿里云启动API创新大赛 设视频技术为场景赛题

摘要: 阿里云API大赛一直以践行API经济为主旨,涌现出了很多基于API服务的优秀解决方案方案作品。本届API大赛主题为“智慧开放,互链解决”,基于广义的API经济理念,将不局限于API服务、工具、数据, 而是将AP…

BAT 力捧的 AI 项目再次爆发,这些程序员都受影响!

从2017年起,人工智能大火,几家国际大厂无论是微软 Build、Facebook F8 还是稍后的 Google I/O,莫不把“AI优先”的大旗扯上云霄。百度 AI 开发者大会,想必大家都被这次“宏颜祸水”惊呆了,但是在大会上我更关心的是李彦…

【2018新年巨献】像阿里巴巴一样高效工作!(含视频、文章、PDF文件)

摘要: Work Like Alibaba 通过线下沙龙、线上直播、内容输出三个维度,携手阿里云的典型企业用户,联合云栖社区、阿里云、钉钉阿里产品,将阿里的前沿产品技术理念、敏捷研发模式、智能运维方法、智能办公、移动办公等渐渐渗透到外部…

AliOS Things自组织网络安全认证架构概述

摘要: AliOS Things自组织网络(uMesh)结合阿里云Link ID设备身份认证平台为物联网嵌入式设备提供了自主安全认证授权接入无线mesh网络的解决方案,并且兼容IEEE802.1X端口控制访问协议和EAP(RFC3748)扩展认证…

屡试不爽的互联网架构三大马车!

戳蓝字“CSDN云计算”关注我们哦!作者:朱晔来源:https://www.cnblogs.com/lovecindywang/p/9617542.html这里所说的三架马车是指微服务、消息队列和定时任务。如下图所示,这里是一个三驾马车共同驱动的一个立体的互联网项目的架构…

如何像阿里巴巴一样高效跨企业项目协作

摘要: 在云效Work Like Alibaba第五期直播中,阿里巴巴研发协同平台高级技术专家,云效项目协作域的技术负责人余鹏(花名秉承)带来了《如何像阿里巴巴一样高效跨企业项目协作》的精彩分享。本次分享主要介绍阿里巴巴是如…

Flowable 6.4.1数据库自动建表错误 SQLSyntaxErrorException: Table 'flowable.act_id_property' doesn't exist

跟着官方Demo学flowable6.4.1,在内存里建表没问题,移到数据库建表就报错 请教了大神才知道,是因为之前本机上建过相同的表(Mysql8.0以上版本改成了false),解决办法就是设置默认在本数据库建表&#xff0c…

MaxCompute - ODPS重装上阵 第一弹 - 善用MaxCompute编译器的错误和警告

摘要: MaxCompute (ODPS) ( 注1 )是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用,支撑了多个BU的核心业务。 ODPS2.0除了持续优化性能外,也致力于提升SQL语言的用户体验和表达能力,提高广…

双十一丝般顺滑体验背后:阿里云洛神网络虚拟化系统揭秘

摘要: 摘要:2017年12月20日在北京云栖大会上,阿里云高级技术专家梵叶在计算与网络分论坛上做了主题分享《双十一丝般顺滑体验背后:阿里云洛神网络虚拟化系统揭秘》。为大家介绍了洛神系统的发展过程,系统架构&#xff…

Springboot-Flowable 快速开发工作流

文章目录一、什么是flowable?官方文档:二、技术选型三、Flowable与springBoot项目整合3.1. 添加依赖3.2. yml 文件配置3.3. 创建数据库3.4. 定义流程文件3.5. 测试controller3.6. 图片乱码处理四、启动项目,初始化表结构五、测试验证5.1. 创建…

华为发布智简全光网战略,携手上下游重新定义光产业

[中国,北京,2019年7月15日] 今日,华为正式发布智简全光网战略,通过打造智能、极简、超宽、无处不在的下一代全光网络,为每个人、每个家庭、每个组织带来极致的业务体验。基于该战略,未来5年华为将携手上下游…

测试之道--阿里巴巴八年测试专家倾情奉献

摘要: 我从事测试工作将近八年了,从起初的不懂测试,怀疑测试,到相信测试,再到坚定测试,其中经历的辛酸、煎熬无法言表。在从事测试工作的这八年里,有人质疑,也有人追捧,唇…

AliOS Things蓝牙协议栈及应用开发框架介绍

摘要: AliOS Things从1.2.0版本开始支持蓝牙协议栈(BLE),及基于蓝牙协议栈的应用层开发框架。本文分为三部分对蓝牙组件进行介绍:蓝牙组件,蓝牙协议栈介绍及接口说明,和应用开发框架介绍及示例说明。AliOS Things v1.2…

快速开发工作流_01_简单流程案例

文章目录一、介绍二、技术选型三、登录/绘制流程图3.1. 需要先登录3.2. 绘制流程图四、 使用说明4.1. 选择数据库4.2. 增加 mybatis, modeler,idm 等配置4.3. yml 文件配置五、定义流程文件这样当此框架启动的时候它会默认加载resource目录下的processes时就可以将此流程配置加…

Spark精华问答 | Spark和Hadoop的架构区别解读

总的来说,Spark采用更先进的架构,使得灵活性、易用性、性能等方面都比Hadoop更有优势,有取代Hadoop的趋势,但其稳定性有待进一步提高。我总结,具体表现在如下几个方面。1Q:Spark和Hadoop的架构区别A&#x…

7类合作伙伴,190条沟通路径,高德汽车如何实现组织高效沟通?

摘要: 通常协同开发组织或团队大于等于7,关键干系人大于等于10,组织级沟通路径大于等于21条,关键干系人沟通路径大于等于45条,并以较大角系数递增。这种沟通路径曲线下,如何让组织信息快速传递?…

MaxCompute - ODPS重装上阵 第二弹 - 新的基本数据类型与内建函数

摘要: MaxCompute(原ODPS)是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用,支撑了多个BU的核心业务。 MaxCompute除了持续优化性能外,也致力于提升SQL语言的用户体验和表达能力…

@程序员:可以被认出是写代码的,但是不能因为格子衬衫!

戳蓝字“CSDN云计算”关注我们哦!亲爱的,我今天穿什么衣服比较好呢?你女朋友早上是否也会站在试衣镜前这样询问你?醒醒,你哪里有女朋友!你分得清人家衣服的?比如:裤子:背…