社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

cizixs

cizixs 最近创建的主题
cizixs 最近回复了
7 年前
回复了 cizixs 创建的主题 » VM的Guesto和Docker的Basic Image有什么区别?

1.轻便

首先,docker映像通常比VM映像小,因此易于构建、复制和共享。

其次,Docker容器可以在几毫秒内启动,而VM可以在几秒钟内启动。

2.分层文件系统

这是Docker的另一个关键特性。图像有层,不同的图像可以共享层,使其更节省空间,构建速度更快。

如果所有容器都使用Ubuntu作为基础图像,那么不是每个图像都有自己的文件系统,而是共享相同的Ubuntu下划线文件,只是在各自的应用程序数据中有所不同。

3.共享操作系统内核

把容器想象成过程!

主机上运行的所有容器实际上是一组具有不同文件系统的进程。它们共享相同的操作系统内核,只封装了系统库和依赖项。

这在大多数情况下都很好(没有额外的OS内核维护),但如果容器之间需要严格隔离,则可能会出现问题。

为什么重要?

所有这些似乎都是进步,而不是革命。好 量的积累导致质的转变 .

考虑一下应用程序部署。如果我们想要部署一个新的软件(服务)或升级一个,最好是更改配置文件和进程,而不是创建一个新的VM。因为使用更新的服务创建虚拟机、测试它(开发人员和质量保证人员共享),部署到生产环境需要数小时甚至数天。如果出了什么问题,你必须重新开始,浪费更多的时间。因此,使用配置管理工具(puppet、saltstack、chef等)安装新软件,下载新文件是首选。

对于docker,不可能使用新创建的docker容器替换旧容器。维护更容易!构建一个新映像,与QA共享,测试它,部署它只需要几分钟(如果一切都是自动化的),在最坏的情况下需要几个小时。这叫做 不变的基础设施 :不要维护(升级)软件,而是创建一个新的。

它改变了服务的交付方式。我们需要应用程序,但必须维护虚拟机(这是一件痛苦的事情,与我们的应用程序几乎没有关系)。Docker让你专注于应用程序并平滑一切。