参考手册 / 网络常识 / 网络常识
docker是什么

Docker 是一个开源的容器化平台,它让你可以把应用及其所有依赖(代码、运行环境、系统工具、库等)打包成一个轻量级、可移植的容器。

打个比方:传统部署像搬家时需要带上整个房子(虚拟机),而 Docker 像用标准集装箱装货物,无论用火车还是轮船,箱子里的东西始终不变、且高效堆叠。

Docker 的核心概念

  • 镜像(Image):一个只读的模板,包含了运行应用所需的一切(如 Ubuntu + Nginx + 你的代码)。类似“类”或“快照”。

  • 容器(Container):镜像的运行实例。你可以启动、停止、删除它。容器之间相互隔离,但共享宿主机操作系统内核。

  • 仓库(Registry):存放镜像的地方,最著名的是 Docker Hub(类似 GitHub for Docker 镜像)。

为什么用 Docker?(核心优势)

  1. 环境一致,解决“在我电脑上能跑”
    开发、测试、生产环境完全一致。避免了因操作系统版本、依赖库不同导致的诡异问题。

  2. 轻量高效
    容器共享宿主机内核,没有完整 OS 开销。相比传统虚拟机(VM),Docker 容器启动快(毫秒级)、占用空间小(MB 级 vs VM 的 GB 级)、一台物理机可运行成百上千个容器。

  3. 可移植性
    只要有 Docker 引擎(Linux、Windows、Mac 甚至云服务器),就能运行你的容器。一次构建,到处运行。

  4. 简化交付与部署
    传统部署需要写复杂的手册:安装依赖、配置环境。现在只要告诉对方 docker run your-image。CI/CD 流程中 Docker 是标准交付物。

  5. 资源隔离
    每个容器有自己的文件系统、进程空间、网络接口。不会互相干扰,安全性提升。

  6. 微服务与弹性伸缩
    天然适合微服务架构:每个服务跑在自己的容器里。配合 Kubernetes 等编排工具,可以自动扩缩容、滚动升级。

Docker vs 传统虚拟机(VM)

 
 
特性 Docker 容器 传统虚拟机
启动速度 毫秒级 分钟级
占用空间 MB 级别(镜像) GB 级别(含完整 OS)
性能损耗 几乎为零(原生性能) 有一定开销(Hypervisor 虚拟化)
隔离级别 进程级隔离(共享内核) 硬件级隔离(各自有内核)
数量 一台宿主机可运行数百上千个 通常几十个
典型场景 微服务、CI/CD、开发测试环境 需要强安全隔离、运行不同 OS 类型(如 Linux 上跑 Windows)

总结一句话:

Docker 是一种容器化技术,让你像管理代码一样管理整个运行环境,实现“打包一次,随处运行”,比虚拟机更轻、更快、更方便。 它是现代 DevOps、微服务和云原生架构的基石。