楼主: 时光永痕
578 0

[数据挖掘新闻] Docker在10分钟内 [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)四级

32%

威望
0
论坛币
26 个
通用积分
49.8622
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34070 点
帖子
2731
精华
0
在线时间
317 小时
注册时间
2020-7-21
最后登录
2024-5-13

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Docker在10分钟内
软件始终不仅是一组指令,而且还是管理,交互和执行这些指令的上下文。在开发开始时,工程师会配置一个开发环境。他可以在开发的所有阶段继续对其进行更改。当我们需要与测试人员共享软件或将其部署到生产环境时,就会出现问题。称为CI / CD的最新开发技术是在开发人员进行所有更改的情况下测试并可能部署代码。但是,如果代码在没有上下文的情况下无法运行或在不同的上下文中无法可靠地运行,我们如何共享代码?如果我们要设置两个或更多个服务实例以提高生产力或可靠性,该怎么办?
什么是Docker
Docker是一个用于开发,交付和运行应用程序的开放平台。它旨在使应用程序更快。使用Docker,您可以将应用程序与基础架构分离,并将基础架构视为托管应用程序。它可以帮助您更快地测试代码,并减少编写代码和运行代码之间的时间。Docker使用轻量级容器虚拟化平台来实现此目的,它使用有助于管理和布局应用程序的流程和实用程序。
Docker允许您在隔离的容器中安全地运行几乎所有应用程序。隔离使您可以在同一主机上同时运行多个容器,因为组件不会以任何不需要的方式相互交互。容器的轻量级特性(无需管理程序的额外负载即可运行)使您可以充分利用硬件。
Docker允许您从本地计算机或数据中心到云基础架构的任何地方部署代码。
Docker架构
Docker是一个客户端-服务器应用程序。 Docker守护程序 为您的应用 程序提供服务(创建,部署,关闭等),并且Docker 客户端 与之交互以管理其活动。客户端和服务器可以存在于一个系统中,泊坞窗客户端也可以连接到远程守护程序。您需要了解3个主要术语:
图片
登记处
容器
映像 是用于构建容器的只读模式。该映像可以包含Apache Nginx或带有Ubuntu的Kafka等。您可以添加,更新和共享映像。图像是构造组件。
每个图像由图层组成。Docker使用UnoinFS 将这些层组合成一个映像。UnionFS 为其他文件系统实现。它允许透明地覆盖独立文件系统(称为分支)的文件和目录,从而形成单个一致的文件系统。合并分支内具有相同路径的目录的内容将在新的虚拟文件系统内的单个合并目录中一起看到。
这使Docker轻巧。随时进行任何更改,都将创建新层而无需替换整个映像或对其进行重建,就像您对虚拟机所做的那样,仅添加或更新级别。而且您不需要分发整个新映像。唯一的更新是分发的,这使得分发图像更加容易和快捷。
此外,由于对多个容器实例使用相同的级别,因此,这可以减少应用程序所需的空间。那是因为所有层都是只读的,因此我们可以将这些层用于多个实例,但可以为每个容器创建一个新的可读写层,在该层中可以进行任何与其他容器隔离的更改。
每个图像的核心是一个基本图像。例如,ubuntu(Ubuntu的基本映像)或Debian(Debian发行版的基本映像)。您还可以将图像用作创建新图像的基础。
注册表 存储图像。它允许您保存自己的或使用任何公共的。有公共和私人注册表。官方Docker注册表称为Docker Hub。注册表是分发组件。
容器 是应用程序层的抽象,将用户文件和依赖项打包在一起。可以创建,启动,停止,移动或删除它们。多个容器可以在同一台计算机上运行,??并与其他容器共享OS内核,每个容器在用户空间中作为隔离的进程运行。容器占用的空间少于VM(容器映像的大小通常为几十MB)。他们可以处理更多的应用程序,并且需要更少的VM和操作系统。这是执行的组成部分。
使用Docker的容器化应用程序的结构
主要替代方法是使用虚拟机(VM),它是将一台服务器转变为多台服务器的物理硬件的抽象。系统管理程序允许多个VM在单台计算机上运行。每个VM包含操作系统,应用程序,必要的二进制文件和库的完整副本-占用数十GB。VM也可能启动缓慢。
使用虚拟机的容器化应用程序的结构
它是如何工作的?
您已经在node.js平台上编写了一个简单的REST服务,并且想要对其进行部署。首先,您需要创建一个图像。您应该创建一个Dockerfile,在其中将指定一组有关如何构建新容器的命令。您可以选择一个基本映像作为节点 或节点高山(较小)。然后,您将描述一堆命令,这些命令会将代码复制并粘贴到正确的目录中,安装所有依赖项并运行服务器。在主机上,Docker将检查它是否具有节点映像,并在必要时下载它。
当docker daemon启动容器时,它会在映像之上创建一个读/写级别(使用联合文件系统,如前所述),可以在其中启动应用程序。
Docker使用多个名称空间来隔离容器,例如PID,NET和UTC名称空间。之前列出的所有功能中的某些功能使用Linux内核,因此,如果使用Windows,则需要一台特殊的虚拟机。
一些常见的用例
简化配置
Docker提供了在任何基础架构之上运行具有自己配置的任何平台的能力,而无需虚拟机的开销。使用Dockerfile,您可以将配置放入代码中,并通过env变量传递给不同的环境并进行部署。因此,可以在不同环境中使用相同的docker映像。
开发人员生产力
有了Docker,我们确信开发环境将尽可能接近生产环境。这将减少许多错误。而且,一旦编写了Dockerfile,便可以多次使用来构建和部署应用程序。这将减少准备环境的时间。
应用隔离
在某些情况下,您需要在同一台服务器中的应用程序之间进行隔离以降低成本,或者需要制定计划以将整体应用程序分离为分离的部分。例如,您可能需要运行两个REST API服务器,这两个服务器都需要node.js。但是,它们每个都使用稍微不同的节点版本,并具有其他类似的依赖关系。您可以在多个容器中运行这些服务器以解决此问题。
服务器整合
Docker的应用程序隔离功能允许整合多个服务器以节省成本,而无需占用多个操作系统的内存。它还能够跨实例共享未使用的内存。与VM相比,Docker提供了更密集的服务器整合。
快速部署
可以创建Docker容器并在毫秒内启动。发生这种情况是因为容器不启动操作系统,而只是运行应用程序进程。此外,Docker映像的不变性使您放心,事情将按其原本应该的工作方式运行。
负载均衡
当我们有一个高负载的应用程序时,我们需要将服务器负载共享给同一服务的多个实例。这是微服务体系结构中的一种常用方法。当然,我们需要一些服务来协调我们的Docker容器。但是仅由于Docker,我们才能够快速创建服务的新实例。
谁使用Docker?
贝宝
PayPal将700多个应用程序迁移到了运行超过200
签证
经过仅仅六个月的生产,Visa将两个面向客户的付款处理应用程序的可扩展性提高了10倍。Visa处理了5.8万亿美元的交易,同时保持了公司强大的可用性和安全性。
康奈尔大学
康奈尔大学通过利用可重用的架构模式以及简化的Docker Enterprise的构建和部署流程,实现了13倍的应用程序部署速度。

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:doc Enterprise Windows Ubuntu apache

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-27 23:22