Docker 容器管理指南 🐳

📋 目录导航
🔍 容器查看命令
1. 👀 查看运行中的容器 ID 和名称
1
| docker ps --format '{{.ID}}: {{.Names}}'
|

2. 📦 查看已停止的容器 ID 和名称
1
| docker ps -a --filter "status=exited" --format "{{.ID}} {{.Names}}"
|

3. 📊 查看所有容器(简洁格式)
1
| docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"
|
4. 🔍 查看容器详细信息
1 2 3 4 5
| docker inspect mytest
docker stats mytest
|
⚡ 容器生命周期管理
1. ⏹️ 停止容器
1 2 3 4 5
| docker stop mytest
docker stop -t 30 mytest
|
2. ▶️ 启动/重启容器
1 2 3 4 5 6 7 8
| docker start mytest
docker restart mytest
docker restart -t 0 mytest
|
3. ⏸️ 暂停/恢复容器
1 2 3 4 5
| docker pause mytest
docker unpause mytest
|
📋 容器日志与诊断
1. 📝 查看容器日志
1 2 3 4 5 6 7 8 9 10 11
| docker logs mytest
docker logs -f mytest
docker logs --tail 100 mytest
docker logs -t mytest
|
2. 🔍 进入容器内部
1 2 3 4 5 6 7 8
| docker exec -it mytest bash
docker exec -it mytest sh
docker exec mytest ls -la /app
|

💡 提示:使用 Ctrl+D
或输入 exit
退出容器
🧹 批量容器管理
1. ⏹️ 停止所有运行中的容器
1
| docker stop $(docker ps -q)
|
2. 🗑️ 删除所有已停止的容器
1 2 3 4 5
| docker container prune
docker container prune -f
|
3. 🔧 删除特定容器
1 2 3 4 5 6 7 8
| docker rm mytest
docker rm -f mytest
docker rm -v mytest
|
4. 🧽 清理所有无用资源
1 2 3 4 5
| docker system prune
docker system prune --volumes
|
🚀 高级容器操作
1. 📊 容器资源限制
1 2 3 4 5 6 7 8
| docker stats
docker run -d --name myapp --memory=512m nginx
docker run -d --name myapp --cpus=1.5 nginx
|
2. 🌐 容器网络管理
1 2 3 4 5 6 7 8
| docker network ls
docker port mytest
docker network create my-network
|
3. 📁 容器文件操作
1 2 3 4 5
| docker cp mytest:/app/config.conf ./local-config.conf
docker cp ./local-file.txt mytest:/app/file.txt
|
🛠️ 实用技巧和最佳实践
1. ❤️ 容器健康检查
1 2 3 4 5 6 7 8
| docker inspect --format='{{json .State.Health}}' mytest
docker run -d --name healthy-app \ --health-cmd="curl -f http://localhost || exit 1" \ --health-interval=30s \ nginx
|
2. 📈 容器资源监控
1 2 3 4 5
| docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.NetIO}}"
docker inspect mytest | grep -E '(IPAddress|MacAddress|Gateway)'
|
3. 💾 容器备份与迁移
1 2 3 4 5 6 7 8
| docker commit mytest my-backup-image
docker export mytest > mytest-container.tar
docker import mytest-container.tar my-imported-image
|
⚠️ 安全注意事项
🛡️ 谨慎使用特权容器
🔐 限制容器权限
1 2
| docker run -d --user 1000:1000 myapp
|
🔄 定期更新容器镜像
1 2 3 4
| docker pull nginx:latest docker stop myapp && docker rm myapp docker run -d --name myapp nginx:latest
|
💡 常用命令组合
🔄 快速重启容器
1
| docker restart mytest && docker logs -f mytest
|
📦 批量操作多个容器
1 2
| docker ps -a --filter "name=app" --format "{{.Names}}" | xargs -I {} docker start {}
|
📊 容器状态监控脚本
1 2 3
| #!/bin/bash
watch -n 5 'docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"'
|
通过掌握这些 Docker 容器管理命令,您将能够更高效地管理和维护容器化应用!🐳🚀