我有一支技术全面、经验丰富的小型团队,专注高效交付中等规模外包项目,有需要外包项目的可以联系我
Docker 曾经是 DevOps 的代名词,风光了近十年。
但时代变了。到了 2025 年,如果还在把 Docker 当成万能药,那你就该好好审视一下现状了。
这篇文章不是为了吐槽 Docker,而是实事求是地告诉你 Docker 为什么已经逐渐淡出舞台,以及现代基础设施团队现在用什么来代替它。
📌 Docker 做对了什么?
Docker 的确改变了我们对基础设施的看法:
- Kubernetes 早期默认采用 Docker 作为容器运行时。
在 2013 到 2018 年之间,这种容器化模式确实非常成功。
但后来,问题逐渐暴露。
📌 Docker 究竟出了什么问题?
1. Docker Daemon 问题严重
Docker 依赖一个长期运行的单一进程:Docker Daemon,意味着:
- 调试 daemon 极为困难,进程一旦出问题就全部瘫痪。
相比之下,其他方案如 containerd 或 CRI-O 并不需要这样一个中心化的守护进程,速度更快,权限更低:
# Docker 传统方式运行
docker run nginx
# containerd 运行(更简单、更安全)
ctr run --rm docker.io/library/nginx:latest nginx /bin/sh
2. Docker Desktop 收费问题
Docker 在企业环境对 Docker Desktop 开始收费,这一决定让大量开发者措手不及:
- 企业团队纷纷寻找其他方案,如 Podman、Rancher Desktop 或 Colima。
3. Kubernetes 已放弃 Docker
注意:Kubernetes 并未放弃容器技术,而是放弃了 Docker 作为运行时。
现在,Kubernetes 主推的是支持 CRI 接口的原生容器运行时,如 containerd 和 CRI-O。
容器运行时变化前后的 Kubernetes 容器生命周期:
+------------------+ +------------------+
| kubelet | | kubelet |
+--------+---------+ +--------+---------+
| |
+--------v----------+ +-------v-----------+
| Docker Daemon | | containerd/CRI-O |
+--------+----------+ +-------+-----------+
| |
+----v-----+ +-----v-----+
| container| | container |
+----------+ +-----------+
Docker 因为缺乏原生 CRI 支持,导致引入额外的 shim 层,增加复杂度。
4. Podman 已经优于 Docker(多数场景)
Podman 几乎能无缝替代 Docker,并且更优秀:
# Docker 命令
docker build -t my-app .
# Podman 命令(完全一样)
podman build -t my-app .
你甚至可以直接 alias:
alias docker=podman
开发者几乎不会察觉区别,而 Podman 更快、更安全。
📌 Docker 之后,你该用什么替代?
下面这些方案值得你立刻切换:
| | |
---|
| Podman, Colima, nerdctl | 轻量、快速、免费,无需 Docker Desktop |
|
containerd | 效率更高,与 K8s 原生集成好,无 Daemon |
| CRI-O, containerd | |
| Rancher Desktop | |
📌 DockerHub 怎么办?
DockerHub 仍是镜像托管的主流,但你无需再使用 Docker 来拉取镜像,可以用
skopeo
或 ctr
等工具:
skopeo copy docker://nginx:latest dir:/tmp/nginx
📌 一个真实的迁移案例
我们团队原本使用 Docker 和 Docker Compose 本地开发微服务。但出现了问题:
于是我们进行了如下迁移:
- Docker Compose → podman-compose
- Docker → nerdctl + containerd(CI 环境)
- Docker Desktop → Rancher Desktop(有 GUI 需求成员)
迁移后结果:
📌 总结
Docker 并非彻底“死亡”,它只是逐渐失去必要性。
就像曾经的 jQuery,它解决了特定历史时期的问题,而如今已有更优秀的方案出现。
如果到 2025 年你还默认用 Docker,请问自己:
“Docker 真能帮到我,还是我只是习惯了它?”
也许,是时候尝试新的、更现代化的容器工具链了。
前端AI·探索:涵盖动效、React Hooks、Vue 技巧、LLM 应用、Python 脚本等专栏,案例驱动实战学习,点击二维码了解更多详情。