docker实战入门(3)基本概念

Docker Client 客户端 / Docker Daemon 守护进程

docker是CS架构,Docker Daemon守护进程即为服务端

客户端向守护进程发起请求,既可以在本地也可以在远程

Docker Image 镜像

镜像是容器的基石,就像容器的源代码,保存了用于启动容器的各项条件和配置

docker的镜像是一个层叠的只读文件系统,最底端是一个引导文件系统(bootfs),这很像典型的linux的引导文件系统,docker用户几乎永远不会和引导文件系统有交互,实际上当一个容器启动后将会被移动到内存中,而引导文件系统将会被卸载。而docker镜像的第二层是root文件系统(rootfs),root文件系统可以是一种或者多种操作系统,比如ubuntu或者centos,在传统的文件系统中,root文件系统会最先以只读的方式加载,当引导结束并完成完整性检查之后它才会被切换到读写模式。但是在docker中,rootfs永远是只读状态。 并且docker利用联合加载技术(union mount)又会在rootfs之上加载更多的只读文件系统。联合加载指的是一次同时加载多个文件系统,但是在外面看起来只能看到一个文件系统,联合加载会将各层文件系统叠加在一起,这样最终的文件系统会包含所有的底层文件和目录,docker将这样的文件系统称为镜像。

Docker Container 容器

容器通过镜像来启动,容器是镜像的执行单元,如果说镜像是docker生命周期中的构建和打包阶段,那么容器则是启动和执行阶段。当一个容器启动时,docker会在该镜像的最顶层加载一个可写的文件层,我们在docker中运行的程序就是在这个层中执行的。docker第一次启动一个容器时,初始的读写层是空的,当文件系统发生变化时,这些变化都会应用在这一层上。比如如果想修改一个文件,这个文件首先会从该读写层下面的只读层复制到该读写层,该文件的只读版本依然存在,但是已经被读写层中的该文件副本所隐藏,这就是docker中的一个重要技术写时复制(copy on write).

每个只读镜像层都是只读的,并且以后永远不会变化,当创建一个新容器时docker会构建出一个镜像栈,在栈的最顶层添加可写层,这个可写层加上下面的镜像层以及一些配置数据就构成了一个容器。容器的这些特点加上镜像的分层框架使我们可以快速构建镜像,并允许包含我们自己应用程序的容器。

Docker Registry仓库

docker用仓库保存用户构建的镜像,仓库分为公有和私有两种,docker Hub是docker官方的公有仓库。我们可以通过这个网站查找我们需要的镜像为我们节省构建镜像的时间。

原文发布于微信公众号 - JKXQJ(bclsj-cn)

原文发表时间:2018-03-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算

​在 OS X 系统上快速上手 Docker 技术 (对 Docker 还不够熟悉? 从这里开始吧!)

原文地址:https://dzone.com/articles/dockerosx-quickstart-not

23680
来自专栏人工智能

在MacOs上用Docker开发

这是在开发者和运营团队之间的对话中经常听到的借口。即使使用复杂的工具,云中几乎没有限制的计算能力以及先进的持续集成工作流程,本地开发应用程序与在生产环境中运行应...

81400
来自专栏北京马哥教育

把docker镜像当作桌面系统来用

博主一直都很喜欢思考怎样管理装在自己电脑上的桌面系统,这篇算是前作能当主力,能入虚拟机,还能随时打包带走,Linux就是这么强大的后续探索吧。

20700
来自专栏我是攻城师

使用Docker容器应该避免的10个事情

34370
来自专栏性能与架构

Docker容器间网络如何互联

image.png 1. 通过IP互联 容器带有虚拟网桥,可以有自己的ip,容器间就可以通过ip进行互相通信 启动两个容器 分别ssh登陆,ifconfig查...

41250
来自专栏云计算D1net

使用Docker时应该避免这10 件事…

容器可以解决很多问题,并且具有诸多优势,当你投身其中时便会发现其奥妙所在。 第一:容器是不可变的 - 操作系统,库版本,配置,文件夹和应用程序都包装在容器内。 ...

36270
来自专栏同步博客

Docker之进入容器(三)

  经过前面两篇博客的扫盲,大家多多少少对docker有了一个基本的了解,也接触了docker的常用命令。在这篇博客中,我将介绍进入docker容器的几种方式。

22130
来自专栏IT笔记

Docker学习之搭建JavaWeb环境

自上次从北京参加阿里云社区开发者进阶大会回来,就萌发了学习Docker的种子,尽管公司现在的业务并没有什么需求,但学习先进的东西总没有坏处。

57170
来自专栏LuckQI

初识Mongodb,从了解,安装到使用

关于Docker的基础知识相关内容基本上写完了,剩下的就是需要我们去多多熟练学习了。 一篇知识的完毕,不是结束,而是另外的一个开始。我们接下来的系列文章就是Mo...

10940
来自专栏IT笔记

Docker学习之网络模式配置

以前搭建过虚拟机(vmware)的小伙伴,有可能知道vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式...

71240

扫码关注云+社区

领取腾讯云代金券