一、系统与环境信息

命令 说明
docker --version 查看 Docker 版本
docker info 查看系统级信息(容器数、镜像数、存储驱动等)
docker system df 查看磁盘占用情况
docker system df -v 查看详细磁盘占用
docker system prune 清理停止的容器、未使用网络、悬空镜像
docker system prune -a 清理所有未使用的镜像(慎用)
docker system prune -a --volumes 彻底清理(含数据卷,高危)

二、镜像管理

命令 说明
docker images 列出本地所有镜像
docker images -q 仅列出镜像 ID
docker images -a 列出所有镜像(含中间层)
docker pull 镜像名:标签 从仓库拉取镜像
docker search 关键词 在 Docker Hub 搜索镜像
docker rmi 镜像名/ID 删除指定镜像
docker rmi -f 镜像名 强制删除镜像
docker build -t 镜像名:标签 . 基于 Dockerfile 构建镜像
docker tag 源镜像 目标镜像:标签 为镜像打标签/重命名
docker push 镜像名:标签 推送镜像到远程仓库
docker save -o 文件.tar 镜像名 导出镜像为 tar 文件
docker load -i 文件.tar 从 tar 文件导入镜像
docker history 镜像名 查看镜像构建历史
docker image prune 清理悬空镜像
docker image prune -a 清理所有未使用镜像

三、容器生命周期管理

命令 说明
docker run [参数] 镜像名 创建并启动容器
docker create 镜像名 仅创建容器,不启动
docker start 容器名/ID 启动已停止的容器
docker stop 容器名/ID 优雅停止容器
docker restart 容器名/ID 重启容器
docker kill 容器名/ID 强制终止容器(SIGKILL)
docker pause 容器名/ID 暂停容器进程
docker unpause 容器名/ID 恢复容器进程
docker rm 容器名/ID 删除已停止的容器
docker rm -f 容器名/ID 强制删除运行中的容器

docker run 常用参数

参数 说明
-d 后台运行
--name 名称 指定容器名称
-p 宿主机端口:容器端口 端口映射
-v 宿主机路径:容器路径 挂载数据卷
-e 变量=值 设置环境变量
--restart 策略 重启策略(如 unless-stopped)
--rm 容器退出后自动删除
--cpus 数值 限制 CPU
--memory 大小 限制内存

四、容器状态查看与操作

命令 说明
docker ps 查看运行中的容器
docker ps -a 查看所有容器(含已停止)
docker ps -q 仅列出容器 ID
docker inspect 容器名/ID 查看容器详细信息(JSON 格式)
docker logs 容器名/ID 查看容器日志
docker logs -f 容器名/ID 实时跟踪日志
docker logs --tail 100 容器名 查看最后 100 行日志
docker stats 实时监控所有容器资源使用
docker stats 容器名 监控指定容器资源
docker top 容器名 查看容器内进程
docker port 容器名 查看端口映射
docker exec -it 容器名 bash 进入运行中的容器(交互式)
docker exec 容器名 命令 在容器内执行单条命令
docker cp 源路径 目标路径 宿主机与容器间拷贝文件
docker diff 容器名 查看容器文件系统变更
docker update --restart=策略 容器名 更新容器重启策略
docker update --cpus=值 --memory=值 容器名 更新容器资源限制
docker rename 旧名 新名 重命名容器

五、数据卷管理

命令 说明
docker volume create 卷名 创建数据卷
docker volume ls 列出所有数据卷
docker volume inspect 卷名 查看数据卷详细信息
docker volume rm 卷名 删除数据卷
docker volume prune 清理未使用的数据卷
docker run -v 卷名:容器路径 镜像名 挂载数据卷到容器

六、网络管理

命令 说明
docker network ls 列出所有网络
docker network create 网络名 创建自定义网络
docker network inspect 网络名 查看网络详细信息
docker network connect 网络名 容器名 将容器连接到网络
docker network disconnect 网络名 容器名 断开容器与网络的连接
docker network rm 网络名 删除网络
docker network prune 清理未使用的网络
docker run --network=网络名 镜像名 启动时指定网络

七、Docker Compose 编排

命令 说明
docker compose up -d 后台启动所有服务
docker compose up -d --build 重建并启动
docker compose down 停止并移除容器和网络
docker compose down -v 同时删除数据卷
docker compose ps 查看服务状态
docker compose logs -f 实时查看日志
docker compose logs -f 服务名 查看指定服务日志
docker compose restart 服务名 重启指定服务
docker compose exec 服务名 bash 进入服务容器
docker compose build 构建镜像
docker compose pull 拉取镜像
docker compose -f 文件名 up -d 指定配置文件启动

八、批量操作快捷命令

命令 说明
docker rm $(docker ps -aq) 删除所有容器
docker rm $(docker ps -aq --filter "status=exited") 只删除已停止的容器
docker rmi $(docker images -q) 删除所有镜像
docker stop $(docker ps -q) 停止所有运行中的容器
docker kill $(docker ps -q) 强制终止所有运行中的容器
docker restart $(docker ps -q) 重启所有运行中的容器

九、实用排查技巧

# 查看容器日志文件路径
docker inspect --format='{{.LogPath}}' 容器名

# 查看容器内部 IP
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 容器名

# 查看容器挂载路径
docker inspect -f '{{range .Mounts}}{{.Source}}:{{.Destination}}{{end}}' 容器名

# 查找已删除但仍被占用的文件
lsof | grep deleted

# 查看容器日志文件大小
ls -lh /var/lib/docker/containers/*/*-json.log