深入理解Docker(一)
深入玩转Docker
技术
Docker 官方团队对Logo的解释:「The logo is a Whale carrying a stack of containers. It is on its way to deliver those to you」
Docker
直译过来是码头工人,然而Docker
给人的第一感觉是容器,容器技术英译为Linux Container
, Container
的直译有集装箱,容器两个意思,如果要形象的理解Linux Container
的话还是叫集装箱技术比较好(可以结合着上图及LOGO理解这句话),由于这涉及到学术交流,及中国本土文化,念集装箱技术会比较奇怪,所以我们都称之为容器技术
为什么是"集装箱技术"?
这就像集装箱运载一样,我把一辆跑车(好比开发好的应用APP),打包放到一容器集装箱里,它通过货轮可以轻而易举的从上海码头(CentOS7.2环境)运送到纽约码头(Ubuntu14.04环境)。而且运输期间,我的跑车(APP)没有受到任何的损坏(文件没有丢失),在另外一个码头卸货后,依然可以完美风骚的赛跑(启动正常)。
Docker
定义:Docker是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的Linux机器上,也可实现虚拟化
与之相混的虚拟化技术: Virtual Machine(又名VM)
虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序[1]都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
通俗点来讲就是虚拟化是为一些组件(例如虚拟应用、服务器、存储和网络)创建基于软件的(或虚拟)表现形式的过程。
基于hypervisor(虚拟机管理系统)的虚拟化方式可以最大程度上提供虚拟化管理的灵活性。各种不同操作系统的虚拟机都能通过 hypervisor 来衍生、运行、销毁。
容器技术:英文为 Container
有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求
容器技术严格来说并不是虚拟化,没有客户机操作系统,是共享内核的。容器可以视为软件供应链的集装箱,能够把应用需要的运行环境、缓存环境、数据库环境等等封装起来,以最简洁的方式支持应用运行
Docker三大核心概念
- 镜像
- 容器
- 仓库
1).镜像
如果进行形象的表述,我们可以将 Docker
镜像理解为包含应用程序以及其相关依赖的一个基础文件系统(存储着我们的程序和数据文件等等信息,镜像层可以理解为基本的镜像,可以通过组合多个镜像层生成一个新的镜像;也可以将一个镜像可以作为一个镜像层,成为组合别的镜像的一份子),在 Docker
容器启动的过程中,它以只读的方式被用于创建容器的运行环境
2).容器
容器和镜像一样,也是若干层的叠加,唯一区别是所有只读层的最上面一层,是一层可读可写层,可以记住这个简单的公式:容器 = 容器镜像 + 可读可写层
前面说镜像的时候我们有提到它是一个静态文件系统,那么既然容器跟它一样,所以,镜像跟容器都是一个静态概念,但是,容器是可以run起来的,当容器run起来时,就会成为一个被称作运行态容器的东西
运行态容器(run container)是由静态容器(可读写的静态文件系统)、一个隔离的进程空间、以及运行于其中的程序进程所组成。我们通常用docker run
运行起来的其实就是运行态容器,而使用docker stop
停止后的容器,就是静态容器
3).仓库
仓库(Repository)是最易理解的部分,仓库分为两种,本地及远程,当我们build
好一个镜像后,这个镜像会先存放到本地仓库,当我们需要利用网络进行分发时,我们可以push
到远程仓库,后续通过网络下载使用
容器技术的特性
一种技术的采用,一定有它适合的场景和优势。容器技术的流行原因,总结下来可能主要归功于以下的这些特性
- 轻量级(只打包必要的lib/bin)
- 秒布署(毫秒与秒之间)
- 易移植(「Build once,Run anywhere」)
- 弹性伸缩(高可用,节约成本)
Over~
版权协议须知!
本篇文章来源于 网络转载 ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1391 0 2020-07-07
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2024-12-28
今日天气
随机推荐
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:12条
- 本站总访问量 353542 次
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...