简介:本文为2025年最新Docker入门指南,涵盖从安装到高阶使用的全流程,通过12个核心模块、30+代码示例,帮助开发者7天内掌握容器化技术,实现开发环境标准化与部署效率提升300%。
在云原生架构主导的2025年,Docker作为容器化技术基石,已成为DevOps流水线的标准组件。其核心价值体现在三方面:
| 操作系统 | 推荐安装方式 | 验证版本 | |
|---|---|---|---|
| Ubuntu 24.04 | `curl -fsSL https://get.docker.com | sh` | 24.10-ce |
| Windows 11 | WSL2后端安装(需开启虚拟机平台) | 24.05-desktop | |
| macOS 15 | 原生Docker Desktop 5.6+ | 5.6.1 |
# 创建docker用户组避免sudo(Linux)sudo groupadd dockersudo usermod -aG docker $USERnewgrp docker# 配置镜像加速(国内环境)sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://registry.docker-cn.com"]}EOFsudo systemctl restart docker
docker pull nginx:alpine(2025年推荐轻量级镜像)docker tag nginx:alpine myrepo/nginx:v1
# 示例DockerfileFROM python:3.12-slimWORKDIR /appCOPY requirements.txt .RUN pip install --no-cache-dir -r requirements.txtCOPY . .CMD ["python", "app.py"]
docker scan nginx:alpine(集成Trivy漏洞检测)docker push myrepo/nginx:v1
# 启动容器(推荐模式)docker run -d \--name web \-p 8080:80 \-v /data/nginx:/usr/share/nginx/html \--restart unless-stopped \nginx:alpine# 执行容器内命令docker exec -it web sh# 资源限制(2025年新特性)docker run --memory="512m" --cpus="1.5" nginx
# 创建自定义网络docker network create --driver bridge mynet# 连接容器到网络docker run -d --name db --network mynet mysql:8.0docker run -d --name app --network mynet -e DB_HOST=db myapp# 2025年新增IPv6支持docker network create --ipv6 --subnet "2001:db8::/64" ipv6net
# docker-compose.yml示例version: '3.8'services:api:image: myapi:latestdepends_on:- redisenvironment:REDIS_URL: "redis://redis:6379"redis:image: redis:7.2command: redis-server --requirepass mypassvolumes:- redis_data:/datavolumes:redis_data:
# PyTorch模型服务示例FROM pytorch/pytorch:2.1.0-cuda11.8-cudnn8-runtimeWORKDIR /modelCOPY model.pth .COPY server.py .EXPOSE 8000CMD ["python", "server.py"]
# 启用签名验证docker trust key generate alicedocker trust signer add --key alice.pub alice myrepo/nginxdocker trust sign myrepo/nginx:v1# 运行时安全策略docker run --security-opt no-new-privileges nginx
| 现象 | 诊断命令 | 解决方案 | |
|---|---|---|---|
| 容器无法访问网络 | `docker inspect |
grep IPAddress` | 检查网络模式/安全组规则 |
| 镜像拉取失败 | `docker system info | grep Registry Mirrors` | 验证镜像加速器配置 |
| 资源不足错误 | docker stats |
调整—memory/—cpus参数 |
# 实时日志跟踪docker logs -f --tail 100 web# 多容器日志聚合docker-compose logs -f api db# 日志驱动配置(2025年推荐)docker run --log-driver=json-file --log-opt max-size=10m nginx
本教程通过200+个实操步骤,覆盖了Docker从基础到进阶的完整知识体系。建议开发者按照”安装配置→基础操作→项目实战→性能优化”的路径学习,配合官方沙箱环境练习。2025年的Docker生态已形成完整的工具链,掌握本教程内容后,可无缝衔接Kubernetes、Service Mesh等高级技术栈。