Docker的核心优势是什么?
在 什么是虚拟化技术? 一文中,我们对虚拟机和 Docker
都有了简单的了解,需要的小伙伴可以自行跳转回顾~
Docker与传统虚拟化技术有什么区别?
Docker
相比传统的虚拟机技术更轻量级,它可以将应用程序打包成容器镜像,每个容器都具有自己的应用程序和系统依赖,并共享宿主机的操作系统内核和系统资源。容器启动和停止比较快,占用的系统资源比虚拟机少, Docker
适用于快速部署和迁移应用程序的场景。
虚拟机和Docker
容器的原理对比:
虚拟机和Docker
容器的优劣势对比:
Docker 的出现解决了应用程序在不同环境下部署和运行的问题。
在传统的应用程序部署方式中,应用程序需要在每个目标环境中进行配置、安装依赖、调试等工作,这样耗费的时间和资源很多。而 Docker
则提供了一种可移植的打包和分发应用程序的方式,使得应用程序可以在任何环境中快速、可靠地部署和运行。
Docker核心概念
Docker有三大核心概念:镜像(Image
)、容器(Container
)、仓库(Repository
)
1、镜像(Image
)
Docker
镜像 是我们创建和运行Docker
容器的基础,它类似于虚拟机的镜像,但其与ISO
等打包文件可大不相同!它实际上是一个特殊的文件系统。它包含了应用程序运行时的整个系统环境,其甚至包含了完整的root文件系统!有了镜像,我们可以完全不考虑环境依赖的问题,可以轻松进行系统迁移,这和java
一次编译多次运行有异曲同工之妙!
在实际使用中,我们通常通过DockerFile
来定制镜像。
2、容器(Container
)
Docker
容器 是一个轻量级的沙盒,应用运行在不同的容器中从而实现隔离效果。容器的创建和运行是以镜像为基础的,容器可以被创建、销毁、启动和停止等。
3、仓库(Repository
)
Docker
仓库类似于我们开发中的代码仓库,各种各样的镜像都在Docker
仓库中存放。Docker
仓库又分为公开仓库 (Public
) 和私有仓库 (Private
) 两种形式。
公开仓库:开放给所有用户使用,允许用户上传、下载公开的镜像。Docke
r官方也有一个公开仓库 Docker Hub,并且它是默认的 Registry
。
另外,国内访问这些仓库速度都很慢,我们可以通过阿里云、网易云等提供的镜像加速器来快速的下载Docker Hub
的镜像。
私有仓库:在本地创建一个只能自己访问的私有仓库。
Docker基本架构
Docker
使用的是典型的C/S架构
模式(客户端-服务器架构),此架构的核心理念在于解耦。如下图所示:
Docker
的客户端使我们使用Docker
的主要方式,其提供了一些可执行命令,通过这些命令可以与Docker
的守护进程进行交互。
Docker
守护进程作为服务器端接收客户端发来的请求,并负责实现构建、运行、分发容器的工作。
Registry
是镜像仓库,负责集中存储和分发镜像的服务。
Docker的核心组件
Docker
的生态系统包含了多个组件,包括 Docker Engine
、Docker Hub
、Docker Compose
、Docker Swarm
等。
Docker Engine
是Docker
的核心组件,用于管理容器和镜像Docker Hub
是Docker
的镜像仓库,用于存储和分享Docker
镜像Docker Compose
可以用于定义和运行多容器的工具,通过 YAML 文件来定义应用程序的服务和容器,通过Docker Compose
启动和管理这些容器。Docker Swarm
是Docker
的集群管理工具,用于管理多个Docker
节点和容器的部署和调度。通过Docker Swarm
,可以实现容器的自动化调度和负载均衡、容器的自动扩缩容等功能。
参考:
1、rundreamsFly导师博客
2、Docker官方文档
🎉 如果喜欢这篇文章,点赞👍 收藏⭐ 关注 ✅ 哦,创作不易,感谢!😀