docker-2025-features

docker-2025-features

Latest Docker 2025 features including AI Assistant, Enhanced Container Isolation, and Moby 25

7Star
1Fork
更新于 1/17/2026
SKILL.md
readonly只读
name
docker-2025-features
description

Latest Docker 2025 features including AI Assistant, Enhanced Container Isolation, and Moby 25

🚨 CRITICAL GUIDELINES

Windows File Path Requirements

MANDATORY: Always Use Backslashes on Windows for File Paths

When using Edit or Write tools on Windows, you MUST use backslashes (\) in file paths, NOT forward slashes (/).

Examples:

  • ❌ WRONG: D:/repos/project/file.tsx
  • ✅ CORRECT: D:\repos\project\file.tsx

This applies to:

  • Edit tool file_path parameter
  • Write tool file_path parameter
  • All file operations on Windows systems

Documentation Guidelines

NEVER create new documentation files unless explicitly requested by the user.

  • Priority: Update existing README.md files rather than creating new documentation
  • Repository cleanliness: Keep repository root clean - only README.md unless user requests otherwise
  • Style: Documentation should be concise, direct, and professional - avoid AI-generated tone
  • User preference: Only create additional .md files when user specifically asks for documentation

Docker 2025 Features

This skill covers the latest Docker features introduced in 2025, ensuring you leverage cutting-edge capabilities for security, performance, and developer experience.

Docker Engine 28 Features (2025)

1. Image Type Mounts

What it is:
Mount an image directory structure directly inside a container without extracting to a volume.

Key capabilities:

  • Mount image layers as read-only filesystems
  • Share common data between containers without duplication
  • Faster startup for data-heavy containers
  • Reduced disk space usage

How to use:

# 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

Use cases:

  • Read-only configuration distribution
  • Shared ML model weights across containers
  • Static asset serving
  • Immutable data sets for testing

2. Versioned Debug Endpoints

What it is:
Debug endpoints now accessible through standard versioned API paths.

Previously: Only available at root paths like /debug/vars
Now: Also accessible at /v1.48/debug/vars, /v1.48/debug/pprof/*

Available endpoints:

  • /v1.48/debug/vars - Runtime variables
  • /v1.48/debug/pprof/ - Profiling index
  • /v1.48/debug/pprof/cmdline - Command line
  • /v1.48/debug/pprof/profile - CPU profile
  • /v1.48/debug/pprof/trace - Execution trace
  • /v1.48/debug/pprof/goroutine - Goroutine stacks

How to use:

# 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. Component Updates

Latest versions in Engine 28.3.3:

  • Buildx v0.26.1 - Enhanced build performance
  • Compose v2.40.3 - Latest compose features
  • BuildKit v0.25.1 - Security improvements
  • Go runtime 1.24.8 - Performance optimizations

4. Security Fixes

CVE-2025-54388: Fixed firewalld reload issue where published container ports could be accessed from local network even when bound to loopback.

Impact: Critical for containers binding to 127.0.0.1 expecting localhost-only access.

5. Deprecations

Raspberry Pi OS 32-bit (armhf):

  • Docker Engine 28 is the last major version supporting armhf
  • Starting with Engine 29, no new armhf packages
  • Migrate to 64-bit OS or use Engine 28.x LTS

Docker Desktop 4.47 Features (October 2025)

1. MCP Catalog Integration

What it is:
Model Context Protocol (MCP) server catalog with 100+ verified, containerized tools.

Key capabilities:

  • Discover and search MCP servers
  • One-click deployment of MCP tools
  • Integration with Docker AI and Model Runner
  • Centralized management of AI agent tools

How to access:

Use cases:

  • AI agent tool discovery
  • Workflow automation
  • Development environment setup
  • CI/CD tool integration

2. Model Runner Enhancements

What's new:

  • Improved UI for model management
  • Enhanced inference APIs
  • Better inference engine performance
  • Model card inspection in Docker Desktop
  • docker model requests command for monitoring

How to use:

# 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. Silent Component Updates

What it is:
Docker Desktop automatically updates internal components without requiring full application restart.

Benefits:

  • Faster security patches
  • Less disruption to workflow
  • Automatic Compose, BuildKit, Containerd updates
  • Background update delivery

Configuration:

  • Enabled by default
  • Can be disabled in Settings > General
  • Notifications for major updates only

4. CVE Fixes

CVE-2025-10657 (v4.47): Fixed Enhanced Container Isolation Docker Socket command restrictions not working in 4.46.0.

CVE-2025-9074 (v4.46): Fixed malicious container escape allowing Docker Engine access without mounted socket.

Docker Desktop 4.38-4.45 Features

1. Docker AI Assistant (Project Gordon)

What it is:
AI-powered assistant integrated into Docker Desktop and CLI for intelligent container development.

Key capabilities:

  • Natural language command interface
  • Context-aware troubleshooting
  • Automated Dockerfile optimization
  • Real-time best practice recommendations
  • Intelligent error diagnosis

How to use:

# 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"

Local Model Runner:

  • Runs AI models directly on your machine (llama.cpp)
  • No cloud API dependencies
  • Privacy-preserving (data stays local)
  • GPU acceleration for performance
  • Works offline

2. Enhanced Container Isolation (ECI)

What it is:
Additional security layer that restricts Docker socket access and container escape vectors.

Security benefits:

  • Prevents unauthorized Docker socket access
  • Restricts container capabilities by default
  • Blocks common escape techniques
  • Enforces stricter resource boundaries
  • Audits container operations

How to enable:

# Docker Desktop Settings > Security > Enhanced Container Isolation
# Or via CLI:
docker desktop settings set enhancedContainerIsolation=true

Use cases:

  • Multi-tenant environments
  • Security-critical applications
  • Compliance requirements (PCI-DSS, HIPAA)
  • Zero-trust architectures
  • Development environments with untrusted code

Compatibility:

  • May break containers requiring Docker socket access
  • Requires Docker Desktop 4.38+
  • Supported on Windows (WSL2), macOS, Linux Desktop

3. Model Runner

What it is:
Built-in AI model execution engine allowing developers to run large language models locally.

Features:

  • Run AI models without cloud services
  • Optimal GPU acceleration
  • Privacy-preserving inference
  • Multiple model format support
  • Integration with Docker AI

How to use:

# 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

Benefits:

  • No API costs
  • Complete data privacy
  • Offline availability
  • Faster inference (local GPU)
  • Integration with development workflow

4. Multi-Node Kubernetes Testing

What it is:
Test Kubernetes deployments with multi-node clusters directly in Docker Desktop.

Previously: Single-node only
Now: 2-5 node clusters for realistic testing

How to enable:

# Docker Desktop Settings > Kubernetes > Enable multi-node
# Specify node count (2-5)

Use cases:

  • Test pod scheduling across nodes
  • Validate affinity/anti-affinity rules
  • Test network policies
  • Simulate node failures
  • Validate StatefulSets and DaemonSets

5. Bake (General Availability)

What it is:
High-level build orchestration tool for complex multi-target builds.

Previously: Experimental
Now: Generally available and production-ready

Features:

# 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 Engine Updates

Performance Improvements

1. Faster Container Startup:

  • 20-30% faster cold starts
  • Improved layer extraction
  • Optimized network initialization

2. Better Resource Management:

  • More accurate memory accounting
  • Improved CPU throttling
  • Better cgroup v2 support

3. Storage Driver Enhancements:

  • overlay2 performance improvements
  • Better disk space management
  • Faster image pulls

Security Updates

1. Enhanced Seccomp Profiles:

{
  "defaultAction": "SCMP_ACT_ERRNO",
  "architectures": ["SCMP_ARCH_X86_64", "SCMP_ARCH_AARCH64"],
  "syscalls": [
    {
      "names": ["read", "write", "exit"],
      "action": "SCMP_ACT_ALLOW"
    }
  ]
}

2. Improved AppArmor Integration:

  • Better Docker profile generation
  • Reduced false positives
  • Enhanced logging

3. User Namespace Improvements:

  • Easier configuration
  • Better compatibility
  • Performance optimizations

Docker Compose v2.40.3+ Features (2025)

Compose Bridge (Convert to Kubernetes)

What it is:
Convert local compose.yaml files to Kubernetes manifests in a single command.

Key capabilities:

  • Automatic conversion of Compose services to Kubernetes Deployments
  • Service-to-Service mapping
  • Volume conversion to PersistentVolumeClaims
  • ConfigMap and Secret generation
  • Ingress configuration

How to use:

# 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

Example conversion:

# 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'

Use cases:

  • Local development to Kubernetes migration
  • Testing Kubernetes deployments locally
  • CI/CD pipeline conversion
  • Multi-environment deployment strategies

Breaking Changes

1. Version Field Obsolete:

# OLD (deprecated):
version: '3.8'
services:
  app:
    image: nginx

# NEW (2025):
services:
  app:
    image: nginx

The version field is now ignored and can be omitted.

New Features

1. Develop Watch with initial_sync:

services:
  app:
    build: .
    develop:
      watch:
        - action: sync
          path: ./src
          target: /app/src
          initial_sync: full  # NEW: Sync all files on start

2. Volume Type: 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 No-Env-Resolution:

# View raw config without environment variable substitution
docker compose config --no-env-resolution

5. Watch with Prune:

# Automatically prune unused resources during watch
docker compose watch --prune

6. Run with Quiet:

# Reduce output noise
docker compose run --quiet app npm test

BuildKit Updates (2025)

New Features

1. Git SHA-256 Support:

# Use SHA-256 based repositories
ADD https://github.com/user/repo#sha256:abc123... /src

2. Enhanced COPY/ADD --exclude:

# Now generally available (was labs-only)
COPY --exclude=*.test.js --exclude=*.md . /app

3. ADD --unpack with --chown:

# Extract and set ownership in one step
ADD --unpack=true --chown=appuser:appgroup archive.tar.gz /app

4. Git Query Parameters:

# Fine-grained Git clone control
ADD https://github.com/user/repo.git?depth=1&branch=main /src

5. Image Checksum Verification:

# Verify image integrity
FROM alpine:3.19@sha256:abc123...
# BuildKit verifies checksum automatically

Security Enhancements

1. Improved Frontend Verification:

# Always use official Docker frontends
# syntax=docker/dockerfile:1

# Pin with digest for maximum security
# syntax=docker/dockerfile:1@sha256:ac85f380a63b13dfcefa89046420e1781752bab202122f8f50032edf31be0021

2. Remote Cache Improvements:

  • Fixed concurrency issues
  • Better loop handling
  • Enhanced security

Best Practices for 2025 Features

Using Docker AI Effectively

DO:

  • Provide specific context in queries
  • Verify AI-generated configurations
  • Combine with traditional security tools
  • Use for learning and exploration

DON'T:

  • Trust AI blindly for security-critical apps
  • Skip manual code review
  • Ignore security scan results
  • Use in air-gapped environments without Model Runner

Enhanced Container Isolation

DO:

  • Enable for security-sensitive workloads
  • Test containers for compatibility first
  • Document socket access requirements
  • Use with least privilege principles

DON'T:

  • Enable without testing existing containers
  • Disable without understanding risks
  • Grant socket access unnecessarily
  • Ignore audit logs

Modern Compose Files

DO:

  • Remove version field from new compose files
  • Use new features (volume type: image, watch improvements)
  • Leverage --print for debugging
  • Adopt --quiet for cleaner CI/CD output

DON'T:

  • Keep version field (it's ignored anyway)
  • Rely on deprecated syntax
  • Skip testing with Compose v2.40+
  • Use outdated documentation

Migration Guide

Updating to Docker Desktop 4.38+

1. Backup existing configurations:

# Export current settings
docker context export desktop-linux > backup.tar

2. Update Docker Desktop:

  • Download latest from docker.com
  • Run installer
  • Restart machine if required

3. Enable new features:

# Enable AI Assistant (beta)
docker desktop settings set enableAI=true

# Enable Enhanced Container Isolation
docker desktop settings set enhancedContainerIsolation=true

4. Test existing containers:

# Verify containers work with ECI
docker compose up -d
docker compose ps
docker compose logs

Updating Compose Files

Before:

version: '3.8'

services:
  app:
    image: nginx:latest
    volumes:
      - data:/data

volumes:
  data:

After:

services:
  app:
    image: nginx:1.26.0  # Specific version
    volumes:
      - data:/data
    develop:
      watch:
        - action: sync
          path: ./config
          target: /etc/nginx/conf.d
          initial_sync: full

volumes:
  data:
    driver: local

Troubleshooting 2025 Features

Docker AI Issues

Problem: AI Assistant not responding
Solution:

# Check Docker Desktop version
docker version

# Ensure beta features enabled
docker desktop settings get enableAI

# Restart Docker Desktop

Problem: Model Runner slow
Solution:

  • Update GPU drivers
  • Increase Docker Desktop memory (Settings > Resources)
  • Close other GPU-intensive applications
  • Use smaller models for faster inference

Enhanced Container Isolation Issues

Problem: Container fails with socket permission error
Solution:

# Identify socket dependencies
docker inspect CONTAINER | grep -i socket

# If truly needed, add socket access explicitly
# (Document why in docker-compose.yml comments)
docker run -v /var/run/docker.sock:/var/run/docker.sock ...

Problem: ECI breaks CI/CD pipeline
Solution:

  • Disable ECI temporarily: docker desktop settings set enhancedContainerIsolation=false
  • Review which containers need socket access
  • Refactor to eliminate socket dependencies
  • Re-enable ECI with exceptions documented

Compose v2.40 Issues

Problem: "version field is obsolete" warning
Solution:

# Simply remove the version field
# OLD:
version: '3.8'
services: ...

# NEW:
services: ...

Problem: watch with initial_sync fails
Solution:

# Check file permissions
ls -la ./src

# Ensure paths are correct
docker compose config | grep -A 5 watch

# Verify sync target exists in container
docker compose exec app ls -la /app/src

Recommended Feature Adoption Timeline

Immediate (Production-Ready):

  • Bake for complex builds
  • Compose v2.40 features (remove version field)
  • Moby 25 engine (via regular Docker updates)
  • BuildKit improvements (automatic)

Testing (Beta but Stable):

  • Docker AI for development workflows
  • Model Runner for local AI testing
  • Multi-node Kubernetes for pre-production

Evaluation (Security-Critical):

  • Enhanced Container Isolation (test thoroughly)
  • ECI with existing production containers
  • Socket access elimination strategies

This skill ensures you stay current with Docker's 2025 evolution while maintaining stability, security, and production-readiness.

You Might Also Like

Related Skills

create-pr

create-pr

170Kdev-devops

Creates GitHub pull requests with properly formatted titles that pass the check-pr-title CI validation. Use when creating PRs, submitting changes for review, or when the user says /pr or asks to create a pull request.

n8n-io avatarn8n-io
获取

Guide for performing Chromium version upgrades in the Electron project. Use when working on the roller/chromium/main branch to fix patch conflicts during `e sync --3`. Covers the patch application workflow, conflict resolution, analyzing upstream Chromium changes, and proper commit formatting for patch fixes.

electron avatarelectron
获取
pr-creator

pr-creator

92Kdev-devops

Use this skill when asked to create a pull request (PR). It ensures all PRs follow the repository's established templates and standards.

google-gemini avatargoogle-gemini
获取
clawdhub

clawdhub

87Kdev-devops

Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.

moltbot avatarmoltbot
获取
tmux

tmux

87Kdev-devops

Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.

moltbot avatarmoltbot
获取
create-pull-request

create-pull-request

57Kdev-devops

Create a GitHub pull request following project conventions. Use when the user asks to create a PR, submit changes for review, or open a pull request. Handles commit analysis, branch management, and PR creation using the gh CLI tool.

cline avatarcline
获取