1.什么是docker
Docker 是一个开源的应用容器引擎,由于docker影响巨大,今天也用"Docker" 指代容器化技术。
2.docker的优势
一键部署,开箱即用
容器使用基于image镜像的部署模式,image中包含了运行应用程序所需的一切:代码、运行时、系统工具、系统库和配置文件。
无论是单个程序还是多个程序组成的复杂服务,或者分布式系统,都可以使用 docker run
或 docker compose up
命令一键部署,省去了大量搭建、配置环境、调试和排查错误的时间。
一次打包,到处运行
Docker 为容器创建了行业标准,使容器成为了软件交付过程中的一种标准化格式,将软打包成容器镜(image),能够使软件在不同环境下运行一致,应用程序可以快速可靠地从一个环境移植到另外一个环境,并确保在所有的部署目标(例如开发、测试、生产环境)上都按预期运行,从而避免了"在我电脑上是好的,怎么到你那却不能用了?"的问题。
3.容器与虚拟机
容器包括应用程序及其所有依赖项。容器运行时,与宿主机共享操作系统内核,容器在linux内核层面(使用 Cgroups 和 namespaces)来实现进程间的隔离,容器在主机操作系统上的用户空间中作为独立进程运行。
因此,容器相比于虚拟机更加轻量化,它体积小,启动快,占用资源少,性能好。
虚拟机使用虚拟化技术,应用程序运行在完整的操作系统(OS)之上,因此占用的资源更多,安装更复杂。
但是由于容器与宿主机共享内核,所以在隔离性和安全性方面不如虚拟机。