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 可以减少一层调用,性能更加好,此举可谓大妙。

相关文章
|
13天前
|
Linux Go 开发者
Docker(一):认识Docker
Docker(一):认识Docker
|
3月前
|
运维 Java Android开发
认识Docker
认识Docker
|
4月前
|
Linux 虚拟化 开发者
Docker(1)
Docker定义 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
|
10月前
|
运维 Java 程序员
【docker】对docker的理解
【docker】对docker的理解
|
5月前
|
关系型数据库 MySQL 虚拟化
docker介绍
docker介绍
57 0
|
6月前
|
虚拟化 云计算 Docker
带你一分钟看懂 “Docker”
2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。 这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。 后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。 Docker技术诞生之后,并没有引起行业的关注。而dotCloud公司,作为一家小型创业企业,在激烈的竞争之下,也步履维艰。
44 1
|
8月前
|
Linux 数据库 网络架构
|
安全 Java Linux
|
运维 Ubuntu Linux
docker简单理解
docker简单理解
83 0