Docker的概念术语(2)
Docker是什么?
Docker是开发人员和系统管理员使用容器开发,部署和运行应用程序的平台。使用Linux容器部署应用程序称为容器化。Linux容器不是一个全新的概念,它们用于轻松部署应用程序。
它的目标是:‘Build,Ship and Run Any App,Anywhere’,即一次封装到处运行。
容器化越来越受欢迎,因为容器是:
- 灵活:即使是最复杂的应用也可以集装箱化。
- 轻量级:容器利用并共享主机内核。
- 可互换:您可以即时部署更新和升级。
- 便携式:您可以在本地构建,部署到云,并在任何地方运行。
- 可扩展:您可以增加并自动分发容器副本。
- 可堆叠:您可以垂直和即时堆叠服务。
镜像(Image)
一个镜像像是一个可执行的包,其中包括运行应用程序所需的所有内容:代码,运行状态,库,环境变量和配置文件。可以将它理解为一个只读的模板,通过运行它启动容器。
容器(Container)
容器是镜像的实例,可以将其启动,关闭,删除,容器之间是相互隔离的,它是可变的,可以理解为在镜像的最上层创建了一个可写层。
仓库(Repository)
仓库就是存放镜像的的地方,就像githup是存放代码的地方,最大的公开仓库是Docker Hup,我们一般从上面pull别人做好的镜像。
Docker与虚拟化的区别
Docker引擎的基础是Linux容器技术(Linux Container,LCX) ,是在系统内核层次实现的虚拟化,而传统的虚拟化是基于硬件的。
一个容器运行原生的Linux与其它在同一主机容器上的容器共享内核,它运行一个独立的进程,不占用任何其他可执行文件的内存,使其轻量级。
相比之下,虚拟机(VM)运行一个完整的“客户”操作系统,通过虚拟机管理程序对主机资源进行虚拟访问。通常,VM提供的环境比大多数应用程序需要的资源更多
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了