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

1

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的可复制性几乎不存在,这需要一个生态的营造。

2

Q:Docker镜像的内容

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

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

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

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

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

3

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

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

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

4

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


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

5

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


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

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

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

第二,普遍的节点故障:

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

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

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

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

福利

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

推荐阅读:

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

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

  • 20大5G关键技术

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

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

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

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

    真香,朕在看了!

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

  1. Docker精华问答 | 多个 Docker 容器之间共享数据怎么办?

    在计算机技术日新月异的今天, Docker 在国内发展的如火如荼.特别是在一线互联网公司 Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,那么今天我们继续关于Docker 的精华问答 ...

  2. Docker精华问答 | 数据库为什么不适合放在 Docker 中运行?

    戳蓝字"CSDN云计算"关注我们哦! Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux或Windo ...

  3. Docker精华问答 | Docker vs VM

    在计算机技术日新月异的今天, Docker 在国内发展的如火如荼.特别是在一线互联网公司 Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,那么今天我们继续关于Docker 的精华问答 ...

  4. Docker精华问答 | Consul是什么?

    在计算机技术日新月异的今天, Docker 在国内发展的如火如荼.特别是在一线互联网公司 Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,那么今天我们继续关于Docker 的精华问答 ...

  5. Docker精华问答 | Docker commit如何用?

    Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的维护效率,降低了云计算应用开发的成本!使用 Docker,可以让应用的部署.测试和分发都变得前所未有的高效和轻松! 1 ...

  6. 由Docker的MySQL官方镜像配置的容器无法启动问题解决办法(修改配置后无法启动)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 为了方便阅读,我在原文基础上加了一些批注,说明我自己的情况,用红色标示. 这篇文章记录了我在使用 D ...

  7. Docker精华问答:Docker与虚拟机的区别?| 技术头条

    Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的维护效率,降低了云计算应用开发的成本!使用 Docker,可以让应用的部署.测试和分发都变得前所未有的高效和轻松! 1 ...

  8. docker命令介绍,镜像制作,容器启动,进入容器操作等

    1:在linux安装docker环境一键安装命令: curl -sSL https://get.daocloud.io/docker | sh 2:查看 Docker 是否安装成功: docker v ...

  9. docker desktop 在run镜像后,容器状态exited

    球求大佬,我的docker是docker desktop版本 ,我下载镜像后,run镜像,但是容器状态一直显示exited,日志报错显示"importerror:no module name ...

最新文章

  1. mysql中logs库_MySQL Logs
  2. cp -r dir1/. dir2 表示将dir1下的文件复制到dir2,不包括dir1目录
  3. 12.MapReduce第2部分(WordCount词频统计、自然连接)
  4. mysql为datetime类型的字段设置默认值current_timestamp,引发 Invalid default value for 错误...
  5. 【Linux系统编程】信号 (上)
  6. Vue CLI 3.0脚手架如何在本地配置mock数据json
  7. c语言中坐标xoy轴在哪里,用C语言在linux下获取鼠标指针的相对位置
  8. 利用计算机可产生随机数,一种利用计算机生成随机数的方法
  9. html三个div相同高度,两个并列div高度相同的问题_html/css_WEB-ITnose
  10. sql 在存储过程中使用事务(转)
  11. 一些常见监控服务如Nagios、Cacti和Zabbix的搭建
  12. windows系统怎么用注册表修改桌面文件路径
  13. CodeMeter***大赛战况:百人参赛,无人摘金!
  14. 编译原理-语法分析详解
  15. 华为手机便签怎样一键扫描图片转化成文字?
  16. typora 修改块代码 和 代码块的背景色
  17. [跟进]_中国银联悄然推出B2C网站-银联在线商城
  18. 基于Select模型的匿名聊天室v1.0
  19. Mockito3.8 如何mock静态方法 (如何mock PageHelper)
  20. 华为荣耀平板5怎么样_荣耀平板5和华为m5青春版哪个好

热门文章

  1. 超级管理器Android,超级文件管理器app
  2. 学完python基础后该学什么_想提一个老生常谈的问题, Python 基础学完后我应该干啥?...
  3. 线性代数学的中国根源
  4. 对谈|人工智能来了,翻译们会失业吗?
  5. 8万级自动挡智能SUV,舒适好开是亮点,众泰T600Coupe要逆天?
  6. 怎么用计算机杀毒,电脑怎样查杀病毒
  7. linux终端如何打开文件夹,如何从终端打开文件夹(带GUI)?
  8. k-shingles和MinHash优秀文章保存
  9. nginx+keepalived详细配置信息
  10. vue.js安装与配置