当前位置:首页 > 经验 >

docker容器是解决什么的(docker容器缺点)

来源:原点资讯(www.yd166.com)时间:2022-11-09 08:01:54作者:YD166手机阅读>>

现代软件开发的目标之一是应用程序既能运行在同一主机或集群上,又能彼此隔离,这样它们就不会过度干扰彼此的操作或维护,但由于要运行包、库和其他软件组件,这样就会变得会比较困难。

解决这个问题的方案之一是用虚拟机,它将相同硬件上的应用程序完全隔离,并将软件组件之间的冲突和硬件资源之间的竞争降到最低,但是虚拟机体积比较庞大,每个虚拟机都需要自己的操作系统,所以通常是GB大小而且很难维护和升级。

与虚拟机相反,容器将应用程序的执行环境彼此隔离,但共享底层OS内核。它们通常以兆字节为单位,使用的资源比虚拟机少得多,而且几乎是立即启动的。可以做到在相同的硬件上更密集地打包,而不需要花费太多的精力和开销。

容器提供了一种高效和高粒度的机制,将软件组件组合到现代企业所需的各种应用程序和服务堆栈中,并保持这些软件组件的更新和维护。

docker容器是解决什么的,docker容器缺点(1)

Docker是一个开源项目,可以轻松创建容器和基于容器的应用程序,最初是为Linux构建的,现在也可以在Windows和MacOS上运行。

一直以来Docker都可以帮助开发人员快速构建轻量级和可移植的软件容器,从而简化应用程序开发、测试和部署等诸多环节。具体来说,它是一个用于构建应用程序的软件平台,可以提供一种小型和轻量级的执行环境用来共享操作系统内核,但在其他方面是独立运行的。

虽然容器概念已经出现不短的时间,但2013年推出的开源项目Docker在很大程度上帮助推广了这项技术,并推动了软件开发中容器化和微服务的趋势,这种趋势后来被称为云原生开发。

Docker容器提供了一种构建企业应用程序和业务流程应用程序的方法,这些应用程序比传统应用程序更容易安装、维护和移动。

Docker容器支持隔离:Docker容器使应用程序不仅彼此隔离,而且与底层系统隔离。这不仅使软件栈更干净,而且更容易使容器化应用程序使用系统资源,例如CPU、GPU、内存、I/O、网络等,它还可以确保数据和代码保持独立。

Docker容器支持可移植性:Docker容器在支持容器运行环境的任何机器上运行。应用程序不必绑定到主机操作系统,因此可以保持应用程序环境和底层操作环境的整洁和最小化。

例如,采用容器的MySQL将在大多数支持容器的Linux系统上运行,应用程序的所有依赖项通常都在同一个容器中提供。基于容器的应用程序可以轻易从on-prem系统迁移到云环境中,或从开发人员的笔记本电脑移到服务器上,只要目标系统支持Docker以及可能与之一起使用的任何第三方工具,比如Kubernetes。

通常,Docker容器镜像必须为特定的平台构建。例如Windows容器不能在Linux上运行,反之亦然;以前,绕过此限制的一种方法是启动运行所需操作系统实例的虚拟机,并在虚拟机中运行容器。

然而Docker团队后来设计了一个更优雅的解决方案,称为manifest,它允许多个操作系统的镜像并行打包。尽管manifest虽然还处于试验阶段,但这暗示了容器可能成为跨平台应用程序解决方案和跨环境应用程序解决方案。

Docker容器支持可组合性:大多数业务应用程序由几个独立的组件组成,web服务器、数据库和cache缓存。Docker容器可以将这些部件组合成一个容易更换的功能单元。每个部分由不同的容器提供,可以独立于其他容器进行维护、更新、交换和修改。

这本质上是应用程序设计的微服务模型。通过将应用程序功能划分为独立的、自包含的服务,微服务模型为过程缓慢的传统开发和单一僵化的应用程序提供了一种解决方案,轻量级和便携式容器使构建和维护基于微服务的应用程序变得更加容易。

Docker容器简化了编排和扩展:由于容器是轻量级的,并且开销很小,所以可以在给定的系统上启动更多的容器,而且容器也可以用于跨系统集群扩展应用程序,并将服务向上或向下扩展以满足高峰需求或节约资源。

用于部署、管理和扩展容器的大多数企业级工具版本都是通过第三方项目提供的。其中最主要的是谷歌的Kubernetes,这是一个支持容器部署和扩展的自动化系统,还支持容器连接、负载平衡和管理。Kubernetes还提供了创建和重用多容器应用程序或“Helm charts”图表的方法,这样就可以根据需要构建和管理复杂的应用程序堆栈。

Docker还内置了Swarm编排模式,目前该模式应用比较少,Kubernetes已成为某种默认选择。事实上Kubernetes与Docker Enterprise Edition捆绑在一起。

栏目热文

docker容器基本概念(docker容器技术基本知识点)

docker容器基本概念(docker容器技术基本知识点)

自学了几天DDocker,就干脆总结一下,也顺带增加一篇《30分钟入门系列》。网上能够查到的对于Docker的定义我就不...

2022-11-09 07:58:30查看全文 >>

容器docker缺点(docker容器云缺点)

容器docker缺点(docker容器云缺点)

在实际的软件开发过程中,我们需要多的环境:如开发环境、测试环境、沙箱环境、自动化环境、预发环境、生产环境……这么多的环境...

2022-11-09 07:28:34查看全文 >>

容器docker怎么用(docker容器介绍)

容器docker怎么用(docker容器介绍)

一.什么是docker?百度百科:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移...

2022-11-09 07:53:42查看全文 >>

docker容器有哪些(docker容器的特点与功能)

docker容器有哪些(docker容器的特点与功能)

概述今天主要简单介绍下Docker的技术架构及其中组成的各个模块。技术架构distribution 负责与docker ...

2022-11-09 07:43:27查看全文 >>

docker和容器通俗理解(docker容器技术的理解)

docker和容器通俗理解(docker容器技术的理解)

一、什么是容器?容器这个词,当你第一眼看它或许脑子里是这东西:瓶瓶罐罐、装水、装其他东西的玩意。图1不管是什么,总的来说...

2022-11-09 07:35:03查看全文 >>

容器docker怎么理解(docker容器技术的理解)

容器docker怎么理解(docker容器技术的理解)

作者 | 乐章来源 | cnblogs.com/zhangxingeng/p/11236968.html一、简介1、了解...

2022-11-09 08:09:17查看全文 >>

docker容器和镜像什么意思(docker镜像和容器怎么用)

docker容器和镜像什么意思(docker镜像和容器怎么用)

技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!作为云计算的当红明...

2022-11-09 07:57:05查看全文 >>

docker容器含义(docker容器开发是啥)

docker容器含义(docker容器开发是啥)

在容器技术没有出来之前,开发运维在进行交付的时候经常出现,开发环境执行正常,生产环境部署运行出现问题,很多原因就是因为环...

2022-11-09 07:59:29查看全文 >>

docker容器干嘛用(docker容器使用缺点)

docker容器干嘛用(docker容器使用缺点)

Java识堂,一个高原创,高收藏,有干货的微信公众号,一起成长,一起进步,欢迎关注Docker是什么?Docker是一个...

2022-11-09 07:50:25查看全文 >>

docker与容器的关系(docker中的镜像和容器是什么)

docker与容器的关系(docker中的镜像和容器是什么)

容器化是解决传统虚拟化带来的障碍的解决方案。自问世以来,虚拟机(VM)使公司能够做到事半功倍。单个物理设备可以通过虚拟机...

2022-11-09 07:54:20查看全文 >>

文档排行