一、容器生命周期管理(最常用)
| 命令 | 说明 | 示例 |
|---|
docker run | 创建并启动容器 | docker run -d --name nginx -p 80:80 nginx |
docker start/stop/restart | 启动/停止/重启容器 | docker stop calibre-web |
docker pause/unpause | 暂停/恢复容器进程 | docker pause <容器名> |
docker rm | 删除容器(需先停止) | docker rm -f <容器名>(强制删除) |
docker exec | 进入容器执行命令 | docker exec -it <容器名> /bin/bash |
docker rename | 重命名容器 | docker rename old_name new_name |
二、容器状态查看
| 命令 | 说明 | 示例 |
|---|
docker ps | 查看运行中的容器 | docker ps -a(查看所有容器) |
docker stats | 查看容器资源占用(实时) | docker stats --no-stream(查看一次) |
docker logs | 查看容器日志 | docker logs -f <容器名>(实时跟踪) |
docker inspect | 查看容器详细信息(JSON) | docker inspect <容器名> | grep IPAddress |
docker top | 查看容器内运行的进程 | docker top <容器名> |
docker port | 查看容器端口映射 | docker port <容器名> |
三、镜像管理
| 命令 | 说明 | 示例 |
|---|
docker images | 列出本地镜像 | docker images -a(列出所有) |
docker pull | 拉取镜像 | docker pull ubuntu:22.04 |
docker build | 从 Dockerfile 构建镜像 | docker build -t myapp:v1 . |
docker push | 推送镜像到仓库 | docker push myusername/myapp:v1 |
docker rmi | 删除镜像 | docker rmi -f <镜像ID>(强制删除) |
docker tag | 给镜像打标签 | docker tag ubuntu:22.04 myrepo/ubuntu:latest |
docker save/load | 导出/导入镜像为 tar 文件 | docker save -o myimage.tar myapp:v1
docker load -i myimage.tar |
四、数据卷管理(Volume)
| 命令 | 说明 | 示例 |
|---|
docker volume ls | 列出所有数据卷 | docker volume ls |
docker volume create | 创建数据卷 | docker volume create mydata |
docker volume inspect | 查看数据卷详情 | docker volume inspect talebook_data |
docker volume prune | 删除未使用的数据卷 | docker volume prune -f |
docker volume rm | 删除指定数据卷 | docker volume rm mydata |
五、网络管理
| 命令 | 说明 | 示例 |
|---|
docker network ls | 列出所有网络 | docker network ls |
docker network create | 创建自定义网络 | docker network create mynet --driver bridge |
docker network inspect | 查看网络详情 | docker network inspect bridge |
docker network connect | 将容器连接到网络 | docker network connect mynet <容器名> |
docker network disconnect | 断开容器与网络连接 | docker network disconnect mynet <容器名> |
docker network prune | 删除未使用的网络 | docker network prune -f |
六、资源清理(释放磁盘空间)
| 命令 | 说明 | 示例 |
|---|
docker system df | 查看 Docker 磁盘使用情况 | docker system df -v(详细) |
docker system prune | 清理停止的容器、未使用的网络、悬空镜像 | docker system prune -a -f(激进清理) |
docker container prune | 删除所有停止的容器 | docker container prune -f |
docker image prune | 删除未使用的镜像 | docker image prune -a -f |
docker builder prune | 清理构建缓存 | docker builder prune -f |
七、Docker Compose 命令(项目级管理)
| 命令 | 说明 | 示例 |
|---|
docker-compose up | 启动服务 | docker-compose up -d(后台运行) |
docker-compose down | 停止并删除容器 | docker-compose down -v(同时删除数据卷) |
docker-compose ps | 查看项目容器状态 | docker-compose ps |
docker-compose logs | 查看项目日志 | docker-compose logs -f talebook |
docker-compose restart | 重启服务 | docker-compose restart |
docker-compose pull | 拉取最新镜像 | docker-compose pull |
docker-compose exec | 进入某个容器 | docker-compose exec talebook /bin/bash |
docker-compose config | 验证 compose 文件语法 | docker-compose config |
docker-compose build | 重新构建镜像 | docker-compose build --no-cache |
八、常用技巧和最佳实践
1. 快速删除所有容器(慎用!)
docker rm -f $(docker ps -aq)
2. 删除所有镜像(慎用!)
docker rmi -f $(docker images -q)
3. 进入容器调试
docker exec -it <容器名> sh # 如果 bash 不可用
docker exec -it <容器名> /bin/bash
4. 查看容器 IP 地址
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器名>
5. 实时查看容器日志并过滤
docker logs -f <容器名> | grep ERROR
6. 复制文件进/出容器
docker cp <容器名>:/path/to/file /host/path # 容器 → 宿主机
docker cp /host/file <容器名>:/path/to/file # 宿主机 → 容器
7. 查看容器环境变量
8. 批量操作(组合命令)
# 停止所有运行中的容器
docker stop $(docker ps -q)
# 删除所有停止的容器
docker container prune -f
九、命令速查图(记忆口诀)
| 操作对象 | 创建 | 查看 | 删除 | 进入/详情 |
|---|
| 容器 | run | ps | rm | exec / inspect |
| 镜像 | build / pull | images | rmi | history / inspect |
| 卷 | volume create | volume ls | volume rm | volume inspect |
| 网络 | network create | network ls | network rm | network inspect |