docker简介
需求:
不是为了得到一个完整的系统,仅仅想使用多个应用程序,并且希望应用程序之间要互相独立。
- windows:
- 实现:安装VMware需要虚拟出多个不同的系统,实现环境隔离。
- 缺点:比较重量级。
- docker:
- 实现:可以在centos宿主机中安装多个docker容器,容器之间本身就是相互独立的。
- 优点:轻量级的环境隔离系统。
为什么使用虚拟机?
一个公司,它内部所有的应用系统都在公司内部服务器上运行。有一个平台(网站)。这个平台通过linux技术,OpenStack搭建的。可以非常方便的管理公司的服务器资源。进行快捷的虚拟机创建、删除、扩容等。使用图像化界面工具可以更方便的创建虚拟机。
为什么使用容器技术?
随着虚拟机以及云端应用不断的创建,会增加对硬件资源的消耗。会增加企业的硬件成本。为了更高效的利用硬件资源,容器技术就排上了用场。
容器技术
- 是实现容器技术的一种。最初是DotCloud公司在法国期间发起的一个公司内部项目,后来根据Apache2.0协议开源,代码在GitHub上维护。
- Docker是基于Google公司退出的Golang语言开发而来,基于inux内核的Cgroups、NameSpace,以及Union FS等技术,对进程进行分装隔离,属于操作系统层面的虚拟化技术(作用)。
- 由于隔离的进程独立于宿主机和其他隔离的进程,也被称为容器。
- 作用:利用Docker可以实现开发、测试、生产环境的部署一致性,极大的减少运维成本。
- 案例;开发者写好代码,开发dockerfile脚本,运行将代码和环境依赖全部打包成一个镜像文件(docker image),镜像文件交给测试、运维直接使用docker run启动即可
容器和虚拟机的差异?
传统虚机技术
需要先虚拟出来一套硬件,在上面运行一个完整操作系统。例如我们使用kvm或者VMware,指定镜像然后安装系统,在系统上运行程序。
kvm和VMware创建虚拟机时,指定较少的CPU、内存、硬盘空间等资源,虚拟机性能较低。
容器技术
容器内的应用程序直接运行在宿主机的内核上,容器内没有自己的内核,也没有对硬件进行虚拟,因此容器比虚拟机更为轻便。
容器对比kvm的好处
- 容器技术提供宿主机的性能,而kvm虚拟机时分配宿主机的硬件资源,性能较弱。
- 同样配置宿主机,做多可以启动10个虚拟机的话,就可以启动100+的容器数量。
- 启动一个kvm虚拟机,得到同一个完整的开机流程,花费的时间较长,或许20s,而启动一个容器只需要1s
- KVM需要硬件CPU的虚拟化支持,而容器不需要。
为什么选择docker?
-
docker更高效的利用系统资源:容器不需要进行硬件虚拟机化以及运行一个完整操作系统的额外开销,docker对系统资源的利用更高。无论是应用的执行,文件存储,还是内存消耗方面,都比传统虚拟机更高效。因此同等配置的主机,可以运行更多的容器实例。
-
更快的启动时间:传统虚拟机启动时间比较久,docker容器直接运行在宿主机的内核上,无需启动一个完整的操作系统,因此可以达到秒启动,大大解决开发、测试、部署的时间。
-
一致性的环境:在企业里,开发→测试→生产,往往难以保证机器环境的一致性,极大可能出现系统依赖冲突,利用docker的容器镜像技术,保证了应用环境的一致性。
-
持续交付和部署(CICD):环境一致性,对于开发和运维人员,最希望的就是实现环境部署迁移别处问题。
利用docker,达到持续继承,持续交付和部署,通过dockerfile构建镜像,实现系统集成测试,运维进行生产部署 -
更轻松的迁移:docker可以在多个平台上运行,无论是物理机、虚拟机、云服务器等环境,运行结果都是一致的。可以轻松迁移,不用带线环境变化导致的程序无法运行。
所有博客仅用于自己学习记录,如有侵权请联系删除,文章来源于公开视频资料,如有需要请移步这里:
https://www.bilibili.com/video/BV1o14y1w7b8?p=8&vd_source=6a0e07382af7c460c1a03694e4d4f4c7
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南