关于 docker-2025-features
介绍 2025 年 Docker 功能与变更的技能,内容涵盖 Engine、Desktop、Compose 和 BuildKit,面向处理容器、本地模型、安全与部署流程的开发者。
主要功能
- 01Docker Engine 28 挂载与调试端点
- 02Docker Desktop MCP 目录与 Model Runner
- 03AI 助手和容器隔离指南
- 04多节点 Kubernetes 测试与 Bake
- 05Compose 转换与 watch 功能
- 06BuildKit 更新与弃用项
适用场景
- 01查阅 Docker 2025 功能指引
- 02使用镜像挂载共享只读数据
- 03在 Docker Desktop 探索 MCP 工具
- 04测试多节点 Kubernetes 部署
MCP 相关
介绍 Docker Desktop MCP Catalog,作为发现和部署容器化 MCP 服务、管理 Agent 工具的目录。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill docker-2025-features安装后在 Claude Code 中输入/docker-2025-features确认已加载。
附带文件references/migration-troubleshooting-timeline.md
详细介绍
🚨 关键指南
Windows 文件路径要求
强制要求:在 Windows 上始终使用反斜杠表示文件路径
在 Windows 上使用 Edit 或 Write 工具时,必须在文件路径中使用反斜杠(\),不能使用正斜杠(/)。
示例:
- ❌ 错误:
D:/repos/project/file.tsx - ✅ 正确:
D:\repos\project\file.tsx
这适用于:
- Edit 工具的 file_path 参数
- Write 工具的 file_path 参数
- 在 Windows 系统上进行的所有文件操作
文档指南
除非用户明确要求,否则绝不要创建新的文档文件。
- 优先事项:更新现有的 README.md 文件,而不是创建新文档
- 保持仓库整洁:保持仓库根目录整洁——除非用户另有要求,否则只保留 README.md
- 风格:文档应简洁、直接且专业,避免 AI 生成式语气
- 用户偏好:仅在用户明确要求提供文档时,才创建其他 .md 文件
Docker 2025 年功能
本技能涵盖 Docker 在 2025 年推出的最新功能,确保你能充分利用前沿能力,提升安全性、性能和开发者体验。
Docker Engine 28 功能(2025 年)
1. 镜像类型挂载
功能介绍: 将镜像目录结构直接挂载到容器中,无需解压到卷。
主要能力:
- 将镜像层挂载为只读文件系统
- 在容器之间共享通用数据,无需重复存储
- 缩短数据密集型容器的启动时间
- 减少磁盘空间占用
使用方法:
# Mount entire image
docker run --rm \
--mount type=image,source=mydata:latest,target=/data \
alpine ls -la /data
# Mount specific path from image
docker run --rm \
--mount type=image,source=mydata:latest,image-subpath=/config,target=/app/config \
alpine cat /app/config/settings.json
适用场景:
- 分发只读配置
- 在容器之间共享 ML 模型权重
- 提供静态资源
- 用于测试的不可变数据集
2. 版本化调试端点
功能介绍: 现在可以通过标准的版本化 API 路径访问调试端点。
**之前:**只能通过 /debug/vars 等根路径访问
**现在:**也可以通过 /v1.48/debug/vars、/v1.48/debug/pprof/* 访问
可用端点:
/v1.48/debug/vars- 运行时变量/v1.48/debug/pprof/- 性能分析索引/v1.48/debug/pprof/cmdline- 命令行/v1.48/debug/pprof/profile- CPU 性能分析/v1.48/debug/pprof/trace- 执行跟踪/v1.48/debug/pprof/goroutine- Goroutine 堆栈
使用方法:
# Access debug vars through versioned API
curl --unix-socket /var/run/docker.sock http://localhost/v1.48/debug/vars
# Get CPU profile
curl --unix-socket /var/run/docker.sock http://localhost/v1.48/debug/pprof/profile?seconds=30 > profile.out
3. 组件更新
Engine 28.3.3 中的最新版本:
- Buildx v0.26.1 - 提升构建性能
- Compose v2.40.3 - 最新的 Compose 功能
- BuildKit v0.25.1 - 安全性改进
- Go 运行时 1.24.8 - 性能优化
4. 安全修复
**CVE-2025-54388:**修复了 firewalld 重新加载问题:即使容器端口绑定到 loopback,本地网络仍可能访问已发布的容器端口。
**影响:**对于绑定到 127.0.0.1、预期仅允许本地主机访问的容器,此问题尤为关键。
5. 弃用事项
Raspberry Pi OS 32 位(armhf):
- Docker Engine 28 是最后一个支持 armhf 的主要版本
- 从 Engine 29 开始,不再提供新的 armhf 软件包
- 请迁移到 64 位操作系统,或使用 Engine 28.x LTS
Docker Desktop 4.47 功能(2025 年 10 月)
1. MCP 目录集成
功能介绍: Model Context Protocol(MCP)服务目录,包含 100 多个经过验证且容器化的工具。
主要能力:
- 发现和搜索 MCP 服务
- 一键部署 MCP 工具
- 与 Docker AI 和 Model Runner 集成
- 集中管理 AI Agent 工具
访问方式:
- Docker Hub MCP 目录
- Docker Desktop MCP Toolkit
- 网站:https://www.docker.com/mcp-catalog
适用场景:
- 发现 AI Agent 工具
- 工作流自动化
- 配置开发环境
- 集成 CI/CD 工具
2. Model Runner 增强功能
新增内容:
- 改进了模型管理界面
- 增强了推理 API
- 提升了推理引擎性能
- 在 Docker Desktop 中检查模型卡
- 用于监控的
docker model requests命令
使用方法:
# List running models
docker model ls
# View model details (new: model cards)
docker model inspect llama2-7b
# Monitor requests and responses (NEW)
docker model requests llama2-7b
# Performance metrics
docker stats $(docker model ls -q)
3. 静默组件更新
内容: Docker Desktop 会自动更新内部组件,无需重启整个应用程序。
优势:
- 更快地应用安全补丁
- 减少对工作流的干扰
- 自动更新 Compose、BuildKit、Containerd
- 在后台推送更新
配置:
- 默认启用
- 可在 Settings > General 中禁用
- 仅针对重大更新发送通知
4. CVE 修复
CVE-2025-10657(v4.47): 修复了在 4.46.0 中增强型容器隔离的 Docker Socket 命令限制未生效的问题。
CVE-2025-9074(v4.46): 修复了恶意容器可逃逸并在未挂载 socket 的情况下访问 Docker Engine 的问题。
Docker Desktop 4.38-4.45 功能
1. Docker AI 助手(Project Gordon)
内容: 集成在 Docker Desktop 和 CLI 中的 AI 助手,可为容器开发提供智能支持。
主要功能:
- 自然语言命令界面
- 感知上下文的故障排查
- 自动优化 Dockerfile
- 实时提供最佳实践建议
- 智能诊断错误
使用方法:
# Enable in Docker Desktop Settings > Features > Docker AI (Beta)
# Ask questions in natural language
"Optimize my Python Dockerfile"
"Why is my container restarting?"
"Suggest secure nginx configuration"
本地 Model Runner:
- 在你的计算机上直接运行 AI 模型(llama.cpp)
- 无需依赖云 API
- 保护隐私(数据保留在本地)
- 通过 GPU 加速提升性能
- 可离线使用
2. 增强型容器隔离(ECI)
内容: 额外的安全层,可限制 Docker socket 访问和容器逃逸途径。
安全优势:
- 防止未经授权访问 Docker socket
- 默认限制容器功能
- 阻止常见的逃逸技术
- 强制实施更严格的资源边界
- 审计容器操作
启用方法:
# Docker Desktop Settings > Security > Enhanced Container Isolation
# Or via CLI:
docker desktop settings set enhancedContainerIsolation=true
适用场景:
- 多租户环境
- 安全关键型应用
- 合规要求(PCI-DSS、HIPAA)
- 零信任架构
- 运行不可信代码的开发环境
兼容性:
- 可能导致需要访问 Docker socket 的容器无法正常运行
- 需要 Docker Desktop 4.38+
- 支持 Windows(WSL2)、macOS、Linux Desktop
3. Model Runner
内容: 内置 AI 模型执行引擎,开发者可通过它在本地运行大模型。
功能:
- 无需云服务即可运行 AI 模型
- 最佳 GPU 加速
- 保护隐私的推理
- 支持多种模型格式
- 与 Docker AI 集成
使用方法:
# Install via Docker Desktop Extensions
# Or use CLI:
docker model run llama2-7b
# View running models:
docker model ls
# Stop model:
docker model stop MODEL_ID
优势:
- 无 API 费用
- 完全保护数据隐私
- 可离线使用
- 推理速度更快(本地 GPU)
- 可集成到开发工作流中
4. 多节点 Kubernetes 测试
内容: 直接在 Docker Desktop 中使用多节点集群测试 Kubernetes 部署。
此前: 仅支持单节点 现在: 支持 2-5 节点集群,可进行真实场景测试
启用方法:
# Docker Desktop Settings > Kubernetes > Enable multi-node
# Specify node count (2-5)
适用场景:
- 测试跨节点的 Pod 调度
- 验证亲和性/反亲和性规则
- 测试网络策略
- 模拟节点故障
- 验证 StatefulSet 和 DaemonSet
5. Bake(正式发布)
内容: 用于复杂多目标构建的高级构建编排工具。
此前: 实验性功能 现在: 正式发布,可用于生产环境
功能:
# docker-bake.hcl
target "app" {
context = "."
dockerfile = "Dockerfile"
tags = ["myapp:latest"]
platforms = ["linux/amd64", "linux/arm64"]
cache-from = ["type=registry,ref=myapp:cache"]
cache-to = ["type=registry,ref=myapp:cache,mode=max"]
}
target "test" {
inherits = ["app"]
target = "test"
output = ["type=local,dest=./coverage"]
}
# Build all targets
docker buildx bake
# Build specific target
docker buildx bake test
Moby 25 引擎更新
性能改进
1. 更快的容器启动:
- 冷启动速度提升 20-30%
- 改进层提取
- 优化网络初始化
2. 更完善的资源管理:
- 内存核算更加准确
- 改进 CPU 节流
- 更好地支持 cgroup v2
3. 存储驱动增强:
- 提升 overlay2 性能
- 改进磁盘空间管理
- 更快地拉取镜像
安全更新
1. 增强型 Seccomp 配置文件:
{
"defaultAction": "SCMP_ACT_ERRNO",
"architectures": ["SCMP_ARCH_X86_64", "SCMP_ARCH_AARCH64"],
"syscalls": [
{
"names": ["read", "write", "exit"],
"action": "SCMP_ACT_ALLOW"
}
]
}
2. 改进 AppArmor 集成:
- 更好地生成 Docker 配置文件
- 减少误报
- 增强日志记录
3. 用户命名空间改进:
- 更易于配置
- 更好的兼容性
- 性能优化
Docker Compose v2.40.3+ 功能(2025)
Compose Bridge(转换为 Kubernetes)
简介: 通过一条命令将本地 compose.yaml 文件转换为 Kubernetes 清单。
主要功能:
- 自动将 Compose 服务转换为 Kubernetes Deployment
- 服务间映射
- 将卷转换为 PersistentVolumeClaims
- 生成 ConfigMap 和 Secret
- Ingress 配置
使用方法:
# Convert compose file to Kubernetes manifests
docker compose convert --format kubernetes > k8s-manifests.yaml
# Or use compose-bridge directly
docker compose-bridge convert docker-compose.yml
# Apply to Kubernetes cluster
kubectl apply -f k8s-manifests.yaml
转换示例:
# docker-compose.yml
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- data:/usr/share/nginx/html
volumes:
data:
# Converts to Kubernetes:
# - Deployment for 'web' service
# - Service exposing port 80
# - PersistentVolumeClaim for 'data'
使用场景:
- 从本地开发迁移到 Kubernetes
- 在本地测试 Kubernetes 部署
- 转换 CI/CD 流水线
- 多环境部署策略
重大变更
1. 弃用 Version 字段:
# OLD (deprecated):
version: '3.8'
services:
app:
image: nginx
# NEW (2025):
services:
app:
image: nginx
现在会忽略 version 字段,可以省略。
新功能
1. 使用 initial_sync 开发 Watch:
services:
app:
build: .
develop:
watch:
- action: sync
path: ./src
target: /app/src
initial_sync: full # NEW: Sync all files on start
2. Image 卷类型:
services:
app:
volumes:
- type: image
source: mydata:latest
target: /data
read_only: true
3. Build Print:
# Debug complex build configurations
docker compose build --print > build-config.json
4. Config 禁用环境变量解析:
# View raw config without environment variable substitution
docker compose config --no-env-resolution
5. 使用 Prune 的 Watch:
# Automatically prune unused resources during watch
docker compose watch --prune
6. 使用 Quiet 运行:
# Reduce output noise
docker compose run --quiet app npm test
BuildKit 更新(2025 年)
新功能
1. 支持 Git SHA-256:
# Use SHA-256 based repositories
ADD https://github.com/user/repo#sha256:abc123... /src
2. 增强 COPY/ADD --exclude:
# Now generally available (was labs-only)
COPY --exclude=*.test.js --exclude=*.md . /app
3. ADD --unpack 支持 --chown:
# Extract and set ownership in one step
ADD --unpack=true --chown=appuser:appgroup archive.tar.gz /app
4. Git 查询参数:
# Fine-grained Git clone control
ADD https://github.com/user/repo.git?depth=1&branch=main /src
5. 镜像校验和验证:
# Verify image integrity
FROM alpine:3.19@sha256:abc123...
# BuildKit verifies checksum automatically
安全增强
1. 改进前端验证:
# Always use official Docker frontends
# syntax=docker/dockerfile:1
# Pin with digest for maximum security
# syntax=docker/dockerfile:1@sha256:ac85f380a63b13dfcefa89046420e1781752bab202122f8f50032edf31be0021
2. 远程缓存改进:
- 修复并发问题
- 改进循环处理
- 增强安全性
2025 年功能最佳实践
- Docker AI — 提供具体上下文,验证生成的配置,并结合传统安全工具;对于安全关键型应用,切勿盲目信任 AI 或跳过人工审核。
- 增强容器隔离 — 为安全敏感型工作负载启用,测试兼容性,记录套接字访问情况,并遵循最小权限原则;未经测试不要启用,也不要随意授予套接字访问权限。
- 现代 Compose 文件 — 删除
version字段,使用新功能(type: image卷、watch 改进、--print、--quiet),并在 Compose v2.40+ 下测试。
迁移、故障排查与采用时间表
有关迁移到 Docker Desktop 4.38+ 的路径、2025 年新功能(compose-bridge、hardened-mode 问题、BuildKit 历史记录)的故障排查,以及建议的功能采用时间表,请参阅 references/migration-troubleshooting-timeline.md。