云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

Docker 已成过去式,是时候向前看了

jxf315 2025-08-06 20:38:57 教程文章 1 ℃

Docker 曾经是 DevOps 的代名词,风光了近十年。

但时代变了。到了 2025 年,如果还在把 Docker 当成万能药,那你就该好好审视一下现状了。

这篇文章不是为了吐槽 Docker,而是实事求是地告诉你 Docker 为什么已经逐渐淡出舞台,以及现代基础设施团队现在用什么来代替它。


Docker 做对了什么?

Docker 的确改变了我们对基础设施的看法:

在 2013 到 2018 年之间,这种容器化模式确实非常成功。

但后来,问题逐渐暴露。


Docker 究竟出了什么问题?

1. Docker Daemon 问题严重

Docker 依赖一个长期运行的单一进程: Docker 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 开始收费,这一决定让大量开发者措手不及:


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
CI/CD 流程
containerd
效率更高,与 K8s 原生集成好,无 Daemon
Kubernetes 容器运行时
CRI-O, containerd
原生 CRI,无需 shim
桌面 GUI 用户
Rancher Desktop
GUI 操作友好,无需额外付费

DockerHub 怎么办?

DockerHub 仍是镜像托管的主流,但你无需再使用 Docker 来拉取镜像,可以用 skopeo ctr 等工具:

skopeo copy docker://nginx:latest dir:/tmp/nginx

一个真实的迁移案例

我们团队原本使用 Docker 和 Docker Compose 本地开发微服务。但出现了问题:

于是我们进行了如下迁移:

迁移后结果:


总结

Docker 并非彻底“死亡”,它只是逐渐失去必要性。

就像曾经的 jQuery,它解决了特定历史时期的问题,而如今已有更优秀的方案出现。

如果到 2025 年你还默认用 Docker,请问自己:

“Docker 真能帮到我,还是我只是习惯了它?”

也许,是时候尝试新的、更现代化的容器工具链了。

最后:
深入React:从基础到最佳实践完整攻略
python 技巧精讲
React Hook 深入浅出
CSS技巧与案例详解
vue2与vue3技巧合集
最近发表
标签列表