Docker-01-初识

简介: Docker-01-初识

Docker&VM


Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器或 Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。


VM,全称虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。


Docker 优点


  1. 一处创建,到处运行
  2. 轻量化,资源利用率高
  3. 启动快,性能好
  4. 和基础设施解耦


Docker 缺点


资源隔离不如 VM 彻底。


Docker 架构


网络异常,图片无法展示
|


VM 架构


网络异常,图片无法展示
|


总结


虚拟机技术相对已经非常成熟,而 Docker 技术正处于快速发展中。虚拟机技术通过 Hypervisor 对底层硬件进行虚拟化,从而实现对底层资源的占用,创建出一个完整的操作系统。而 Docker 直接运行在 HOST 的内核之上,因为它自己没有内核,它底层基于 LXC 技术实现,结合 NameSpaces、CGroups、Chroot、AUFS 等技术对 HOST 的计算,网络,存储等资源进行隔离占用,从而实现了一个基于 HOST 的轻便,灵活,低开销的虚拟化应用容器环境。


展望


随着近年 Docker 商业化步伐的迈进,原本开源的 Docker 也已经不再是曾经的 Docker 了。同时 kubernetes 也在 v1.20 版本的 Changelog 中宣布弃用 Docker。种种迹象表明 Docker 将逐步被替代,对于开发者而言,开源版本的 Docker 依然可以免费试用,但是在大背景下,开发者们也清楚不被开发者支持的开源不会长久,此时,一个熟悉的身影出现在人们的视野中,它就是 containerdcontainerd 是从 Docker 中分离出来了一个项目,其支持 CRI(Container Runtime Interface),从而可以直接替代 Docker 成为 K8S 的容器运行时,而且相比 Docker 可以减少一层调用,性能更加好,此举可谓大妙。

相关文章
|
6月前
|
监控 应用服务中间件 nginx
|
28天前
|
物联网 数据处理 持续交付
Docker适合哪些场景
【10月更文挑战第18天】Docker适合哪些场景
|
6月前
|
关系型数据库 MySQL Shell
|
数据可视化 应用服务中间件 nginx
|
6月前
|
应用服务中间件 nginx Docker
Docker的世界
Docker的世界
47 0
|
Java Shell Linux
Docker使用总结
Docker使用总结
127 0
|
Linux 虚拟化 开发者
|
存储 安全 测试技术
Docker初步了解
Docker初步了解
76 0
|
运维 Linux Go
首先我们要知道 Docker 是什么?能干什么?
首先我们要知道 Docker 是什么?能干什么?
2319 1
|
Java Linux Shell
Docker必知必会
Docker必知必会
186 0