docker
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDocker Skill
Docker 技能参考
Docker and Docker Compose reference for containerized application deployment and management.
本指南是容器化应用部署与管理的Docker及Docker Compose参考文档。
Quick Reference
快速参考
bash
undefinedbash
undefinedContainer operations
容器操作
docker ps # List running containers
docker ps -a # List all containers
docker logs <container> # View logs
docker logs -f <container> # Follow logs
docker exec -it <container> sh # Shell into container
docker inspect <container> # Full container details
docker ps # 列出运行中的容器
docker ps -a # 列出所有容器
docker logs <container> # 查看日志
docker logs -f <container> # 实时跟踪日志
docker exec -it <container> sh # 进入容器Shell
docker inspect <container> # 查看容器完整详情
Compose operations
Compose操作
docker compose up -d # Start services (detached)
docker compose down # Stop and remove
docker compose ps # List compose services
docker compose logs -f # Follow all logs
docker compose pull # Pull latest images
docker compose restart # Restart services
docker compose up -d # 启动服务(后台模式)
docker compose down # 停止并移除服务
docker compose ps # 列出Compose服务
docker compose logs -f # 实时跟踪所有服务日志
docker compose pull # 拉取最新镜像
docker compose restart # 重启服务
Troubleshooting
故障排查
docker stats # Resource usage
docker network ls # List networks
docker network inspect <net> # Network details
docker volume ls # List volumes
docker system df # Disk usage
docker system prune # Clean up unused resources
undefineddocker stats # 查看资源使用情况
docker network ls # 列出网络
docker network inspect <net> # 查看网络详情
docker volume ls # 列出卷
docker system df # 查看磁盘使用情况
docker system prune # 清理未使用的资源
undefinedReference Files
参考文件
Load on-demand based on task:
| Topic | File | When to Load |
|---|---|---|
| Compose Structure | compose.md | Writing docker-compose.yaml |
| Networking | networking.md | Network modes, port mapping |
| Volumes | volumes.md | Data persistence, mounts |
| Dockerfile | dockerfile.md | Building images |
| Troubleshooting | troubleshooting.md | Common errors, diagnostics |
根据任务按需加载:
| 主题 | 文件 | 加载场景 |
|---|---|---|
| Compose 结构 | compose.md | 编写docker-compose.yaml时 |
| 网络配置 | networking.md | 网络模式、端口映射配置时 |
| 卷管理 | volumes.md | 数据持久化、挂载配置时 |
| Dockerfile 编写 | dockerfile.md | 构建镜像时 |
| 故障排查 | troubleshooting.md | 常见错误排查、诊断时 |
Proxmox Integration
Proxmox 集成
| Topic | File | When to Load |
|---|---|---|
| Docker on Proxmox | proxmox/hosting.md | VM sizing, storage, GPU passthrough |
| LXC vs Docker | proxmox/lxc-vs-docker.md | Choosing container type |
| 主题 | 文件 | 加载场景 |
|---|---|---|
| Proxmox 上部署Docker | proxmox/hosting.md | VM规格配置、存储、GPU直通时 |
| LXC 与Docker对比 | proxmox/lxc-vs-docker.md | 选择容器类型时 |
Compose File Quick Reference
Compose 文件快速参考
yaml
name: myapp # Project name (optional)
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html:ro
networks:
- frontend
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 30s
timeout: 10s
retries: 3
networks:
frontend:
driver: bridge
volumes:
data:yaml
name: myapp # 项目名称(可选)
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html:ro
networks:
- frontend
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 30s
timeout: 10s
retries: 3
networks:
frontend:
driver: bridge
volumes:
data:Validation Checklist
部署验证清单
Before deploying containers:
- Services defined with specific image tags (not :latest)
- Port mappings without conflicts
- Volumes for persistent data
- Networks configured appropriately
- Resource limits set (memory, CPU)
- Health checks for critical services
- Restart policy appropriate
- Secrets not in images or compose file
- .env file for environment variables
容器部署前检查:
- 服务使用特定镜像标签(而非:latest)
- 端口映射无冲突
- 配置卷用于持久化数据
- 网络配置合理
- 设置资源限制(内存、CPU)
- 为关键服务配置健康检查
- 重启策略合理
- 敏感信息未嵌入镜像或Compose文件
- 使用.env文件管理环境变量
Network Mode Quick Decision
网络模式快速选择
| Mode | Use Case | Isolation |
|---|---|---|
| bridge | Default, most services | Container isolated |
| host | Performance, network tools | No isolation |
| macvlan | Direct LAN access | Own MAC/IP |
| ipvlan | Like macvlan, shared MAC | Own IP |
| none | No networking | Full isolation |
| 模式 | 适用场景 | 隔离性 |
|---|---|---|
| bridge | 默认模式,适用于多数服务 | 容器隔离 |
| host | 高性能场景、网络工具 | 无隔离 |
| macvlan | 直接接入局域网 | 独立MAC/IP |
| ipvlan | 类似macvlan,共享MAC | 独立IP |
| none | 无网络连接 | 完全隔离 |
Volume Type Quick Decision
卷类型快速选择
| Type | Use Case | Portability |
|---|---|---|
| Named volume | Database, app data | Best |
| Bind mount | Config files, dev | Host-dependent |
| tmpfs | Secrets, cache | Memory only |
| 类型 | 适用场景 | 可移植性 |
|---|---|---|
| 命名卷 | 数据库、应用数据 | 最佳 |
| 绑定挂载 | 配置文件、开发环境 | 依赖主机 |
| tmpfs | 敏感信息、缓存 | 仅内存存储 |