Ubuntu 上 Docker 的最新特性概览
一 引擎与运行时
- Docker Engine 27.0+ 在 Ubuntu 上带来对 containerd 2.0 的原生支持,改进了容器生命周期管理与稳定性;同时提供增强的多架构构建能力,便于在 amd64/arm64 等平台间产出镜像。Ubuntu 官方仓库通常稍晚于上游发布,建议通过 Docker 官方 APT 源安装以获取最新稳定版。Rootless 模式自 v20.10 起提供,在 Ubuntu 22.04+ 配合 fuse-overlayfs、slirp4netns 等组件可获得接近原生的使用体验,显著降低高权限面暴露。
二 构建与镜像
- Buildkit 成为默认构建器(自 v23.0 起),在 Ubuntu 上无需额外配置即可获得更快的构建、更好的缓存与更安全的默认行为;结合 docker-buildx-plugin 可扩展到多平台构建。2025 年的版本中,面向工程化的 docker bake(HCL) 进一步简化多目标、多平台并行构建与统一配置管理,适合微服务和多架构发布流水线。
三 安全与 Rootless
- Rootless 模式 通过 用户命名空间 将容器内 root 映射到宿主机的非特权 UID/GID,显著降低容器逃逸对宿主机的影响;网络基于 slirp4netns 用户态实现,存储常用 fuse-overlayfs。在 Linux 5.19+ 配合 bypass4netns 可进一步缩小网络性能差距;多数场景下性能损耗约 5%–12%,在安全合规与效率之间取得平衡,适合多租户与受限环境。
四 生态与平台能力
- Docker Compose v2 插件化集成 到 Engine,Ubuntu 上通过安装 docker-compose-plugin 即可使用 docker compose 命令,与 Docker CLI 一致、跨项目统一工作流。
- Kubernetes 协同:在 Kubernetes 1.30 场景中,Docker 提供的 containerd 2.0 作为 CRI 运行时与 K8s 良好集成;Ubuntu 节点上常见做法是直接使用 containerd(或 Docker 的 containerd 组件)以满足 CRI v1 要求。
- Docker Hub 新体验:新增 Official / Verified Publisher / Certified 镜像分类,提供更强的可信度标识;自动化构建支持构建缓存、环境变量与测试运行,并改进仓库工具(如最近推送标签、权限视图与过滤)。
五 在 Ubuntu 24.04/22.04 上的快速体验
- 安装或升级到最新稳定版(含 Buildkit 与 Compose 插件):
- sudo apt-get update
- sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 验证版本与特性:
- docker --version(应显示 27.0.x 或更新)
- docker buildx version(启用多架构构建)
- docker compose version(Compose v2 插件)
- 启用 Rootless(可选,适合无 sudo 场景):
- 安装依赖:sudo apt install -y uidmap dbus-user-session fuse-overlayfs slirp4netns
- 按官方脚本安装 Rootless Docker,或切换到普通用户后执行:curl -fsSL https://get.docker.com/rootless | sh
- 注意:Rootless 模式下部分需要特权的操作(如某些网络/存储插件)受限,生产使用前请充分验证。