码头工人字面上是码头工人,但码头工人给人的第一印象是集装箱。容器技术被翻译成Linux容器。容器的直译有两层含义:容器和容器。如果你想直观地理解Linux容器,最好调用容器技术(你可以结合上面的图片和LOGO理解这句话)。由于它涉及到学术交流和中国本土文化,阅读容器技术很奇怪,所以我们都称之为容器技术。
为什么是“集装箱技术”
我们都知道码头上的集装箱是用来装运货物的。这是一个按照规格标准化的钢箱。集装箱的特点在于其统一的格式,可以一层一层地重叠而不相互影响。
因此,信息技术领域借用了这个想法,每个人都在想,是否有可能每个人“只需要关注程序本身?”
换句话说,在我部署并运行一个服务之后,我想把它迁移到另一个地方。
“没有必要安装另一个操作系统和相关环境。
这就像集装箱运输。我把一辆兰博基尼跑车(就像一个开发的APP)装在一个集装箱里,用货船可以很容易地把它从上海码头(7.2世纪的环境)运到纽约码头(14.04世纪的环境)。此外,在运输过程中,我的兰博基尼(APP)一点也没有损坏(文件没有丢失)。在另一个码头卸货后,它仍然能够完美而优雅地运行(正常启动)。
言归正传
定义:Docker是一个开源的应用程序容器引擎。开发人员可以打包他们的应用程序,并依赖一个可移植的容器,该容器可以发布到流行的Linux机器上,还可以实现虚拟化。
在进一步了解多克之前,我准备了两个关键词
虚拟化技术
集装箱技术
虚拟化技术
定义:虚拟机虚拟化是指通过虚拟化技术将一台计算机虚拟化为多台逻辑计算机。多台逻辑计算机同时运行在一台计算机上,每台逻辑计算机可以运行不同的操作系统,应用程序[1]可以在相互独立的空间中运行,互不影响,明显提高了计算机的工作效率
一般来说,虚拟化是为某些组件(如虚拟应用程序、服务器、存储和网络)创建基于软件的(或虚拟的)表示的过程。
基于虚拟机管理程序(virtual machine management system)的虚拟化方法可以最大限度地提供虚拟化管理的灵活性。各种操作系统的虚拟机可以通过虚拟机管理程序派生、运行和销毁。
然而,随着时间的推移,人们发现虚拟机管理程序变得越来越麻烦。为什么?因为对于虚拟机管理程序环境,每个虚拟机都需要运行完整的操作系统和安装在其中的大量应用程序,如下图所示
然而,在应用程序的实际生产中,“我们更关心我们部署的应用程序本身”
集装箱技术
定义:容器有效地将单个操作系统的资源分成独立的组,以便更好地平衡独立组之间冲突的资源使用需求
容器技术不是严格的虚拟化,没有客户端操作系统,它是共享内核。容器可以看作软件供应链的容器,它可以封装应用程序所需的运行环境、缓存环境、数据库环境等,以最简单的方式支持应用程序的运行。
多克的三个核心概念
镜像
容器
仓库
为了更好地理解,让我们先讲一个小故事。
少年甲想建一栋别墅。他邀请了高级设计师、高级建筑工程师和其他高级工人。这座房子花了两个月的时间全力建造。六个月后,因为需要换工作,小A不得不花很多钱在另一个城市建造另一栋别墅。
小啊有一个朋友,小B,他和小a在同一个场景。唯一的不同是小B认识一个魔术师。魔术师施了一个魔法(建造了一个镜像),并直接将小乙的别墅(镜像)复制到小乙的背包(仓库)中。小乙去另一个城市找了一个空的地方(容器),直接把书包里的房子拿了出来。他拿出来的房子可以变得和原来城里的小乙一模一样。
听完这个故事后,让我们更好地理解码头工人的两个口号。
“构建、运输和运行”
“一次构建,随处运行”
镜像如果图像被表达出来,我们可以将Docker镜像理解为一个包含应用程序及其相关依赖项的基本文件系统(存储诸如我们的程序和数据文件等信息)。),镜像层可以理解为基本镜像,并且可以通过组合多个镜像层来生成新的镜像;也可以使用镜像作为镜像层并成为组合镜像的一部分)。在Docker容器启动期间,它用于以只读方式创建容器的运行环境。
容器容器和镜像是几层的叠加。唯一的区别是所有只读层的顶层是可读和可写的层。你可以记住这个简单的公式:容器=容器镜像可读和可写层
当我们前面提到镜像时,我们提到它是一个静态文件系统,所以既然容器和它是一样的,镜像和容器都是静态概念,但是容器可以运行,当容器运行时,它将变成一个叫做运行容器的东西。
运行容器由一个静态容器(可以读写的静态文件系统)、一个独立的进程空间和在其中运行的程序进程组成。我们通常用码头工人运行运行的实际上是运行的容器,而用码头工人停止运行的容器是静态容器。
仓库是最容易理解的部分。每个人都使用节点的包来管理Npm。这个概念是一致的。仓库分为本地和远程两种类型。当我们构建镜像时,镜像将首先存储在本地仓库中。当我们需要使用网络进行分发时,我们可以推送至远程仓库,然后通过网络下载并使用它。
官方的npm源码下载有时很慢,这是由于XX的原因,那么我们需要使用国内镜像源码,那么docker的操作是一样的
集装箱技术的特点
采用一项技术必须有其合适的场景和优势。集装箱技术流行的原因可能主要归因于以下特征
轻量级(仅包装必要的lib/bin)
秒部署(毫秒和秒之间)
易于迁移(“构建,随处运行”)
灵活扩展(高可用性、节约成本)
摘要
通过本文,我们对Docker有了一个基本的了解,知道Docker Logo不是咸鱼,集装箱技术和虚拟技术的区别,Docker的三个核心概念及其特点。
然而,码头工人涉及的远不止这些。卞帅还将在下一章解释“码头工人在实际工作场景中的应用”。
防控疫情的需求激发之下,代替人类送药、送餐送菜、消毒巡逻的无人车成了疫情期间的特殊尖兵。疫情过后,无人车配送是否...
2020-03-23 17:12市场分调研机构Omdia的最新数据分析显示,全球智能城市人工智能(AI)软件市场将从6 738亿美元(2019年),在2025年将增长到4...
2020-04-07 17:55现代电测技术日趋成熟,由于具有精度高、便于微机相连实现自动实时处理等优点,已经广泛应用在电气量和非电气量的测量中。
2020-04-07 17:56微软经常在游戏领域开辟路径,扮演开拓者的角色,这一点体现在很多方面,包括微软的尖端技术(DX12终极版 DX光追),硬件(X...
2020-04-07 17:57去年 12 月,波音为美国宇航局发射了未载人的 Starliner 航天器。然而由于技术问题,任务并没有按计划进行。作为 NASA ...
2020-04-07 17:58