一、系统与环境信息
| 命令 | 说明 |
|---|---|
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


