前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker实战入门(3)基本概念

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

作者头像
JKXQJ
发布2018-04-18 16:12:08
7840
发布2018-04-18 16:12:08
举报

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官方的公有仓库。我们可以通过这个网站查找我们需要的镜像为我们节省构建镜像的时间。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JKXQJ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档