Skip to content

Docker 常用命令速查表(带示例)

类别命令说明示例
镜像管理docker pull下载镜像docker pull nginx:1.23.3
docker images查看本地镜像docker images -q
docker rmi删除镜像docker rmi -f ubuntu:22.04
docker build构建镜像docker build -t myapp:v1 .
容器管理docker run创建并运行容器docker run -d -p 80:80 --name web nginx
docker ps查看容器docker ps -a
docker stop停止容器docker stop web
docker start启动容器docker start web
docker restart重启容器docker restart web
docker rm删除容器docker rm -f web
日志调试docker logs查看日志docker logs -f --tail 100 web
docker exec进入容器docker exec -it web bash
docker inspect查看详情docker inspect -f web
数据管理docker volume create创建数据卷docker volume create myvol
docker volume ls列出数据卷docker volume ls
docker volume rm删除数据卷docker volume rm myvol
网络管理docker network create创建网络docker network create mynet
docker network ls列出网络docker network ls
docker network connect连接容器到网络docker network connect mynet web
系统管理docker system df查看磁盘使用docker system df -v
docker system prune清理无用数据docker system prune -a
组合命令批量停止容器停止所有运行中的容器docker stop $(docker ps -q)
批量删除容器删除所有停止的容器docker rm $(docker ps -aq)
批量删除镜像删除所有镜像docker rmi $(docker images -q)

✅ 核心命令详解

1. 镜像管理命令

(1) docker pull - 下载镜像

bash
docker pull [选项] <镜像名:标签>

常用示例

bash
# 下载官方最新版Ubuntu
docker pull ubuntu:latest

# 下载指定版本的Nginx
docker pull nginx:1.23.3-alpine

# 从私有仓库下载
docker pull registry.example.com/myapp:v1.2

关键选项

  • --platform:指定平台(如 linux/amd64)

  • --quiet:只显示镜像ID

(2) docker images - 查看本地镜像

bash
docker images [选项]

示例输出

bash
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    2b7d6430f78d   2 weeks ago    142MB
ubuntu       22.04     3f5ef9003c2b   3 weeks ago    77.8MB

常用选项

  • -q:只显示镜像ID

  • --digests:显示摘要信息

  • --no-trunc:显示完整信息

docker rmi - 删除镜像

bash
docker rmi [选项] <镜像名/ID>

实际案例

bash
# 删除单个镜像
docker rmi nginx:1.23.3

# 强制删除(即使有容器使用)
docker rmi -f ubuntu:22.04

# 删除所有镜像(危险!)
docker rmi $(docker images -q)

2. 容器管理命令

docker run - 创建并运行容器

bash
docker run [选项] <镜像> [命令]

核心选项

选项说明
-d后台运行
-it交互式终端
--name指定容器名称
-p端口映射(主机:容器)
-v数据卷挂载
--rm退出后自动删除
-e设置环境变量

典型用例

bash
# 运行Nginx并映射端口
docker run -d --name my-nginx -p 8080:80 nginx

# 运行交互式Ubuntu容器
docker run -it --rm ubuntu bash

# 带环境变量的MySQL
docker run -d -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0

docker ps - 查看容器

bash
docker ps [选项]

常用组合

bash
# 查看运行中的容器
docker ps

# 查看所有容器(包括停止的)
docker ps -a

# 显示容器ID和状态
docker ps -aq --format "{{.ID}}: {{.Status}}"

# 按名称过滤
docker ps -f "name=my-nginx"

docker stop/start/restart - 生命周期管理

bash
# 停止容器
docker stop my-nginx

# 启动已停止的容器
docker start my-nginx

# 重启容器
docker restart my-nginx

docker rm - 删除容器

bash
# 删除已停止的容器
docker rm my-nginx

# 强制删除运行中的容器
docker rm -f my-nginx

# 删除所有停止的容器
docker container prune

3. 日志与调试命令

docker logs - 查看容器日志

bash
docker logs [选项] <容器>

实用技巧

bash
# 查看最新日志
docker logs my-nginx

# 实时跟踪日志(类似tail -f)
docker logs -f my-nginx

# 显示最后20行
docker logs --tail 20 my-nginx

# 显示时间戳
docker logs -t my-nginx

# 过滤特定时间段的日志
docker logs --since 2023-05-01 --until 2023-05-02 my-nginx

docker exec - 进入运行中的容器

bash
docker exec [选项] <容器> <命令>

典型场景

bash
# 进入容器bash终端
docker exec -it my-nginx bash

# 在容器内执行命令
docker exec my-nginx ls /etc/nginx

# 以root身份进入
docker exec -u 0 -it my-nginx bash

# 在容器内创建文件
docker exec my-nginx touch /tmp/test.txt

docker inspect - 查看容器详情

bash
docker inspect [选项] <容器/镜像>

高级用法

bash
# 查看容器所有信息
docker inspect my-nginx

# 提取特定信息(JSON路径查询)
docker inspect -f '{{.NetworkSettings.IPAddress}}' my-nginx

# 查看挂载点信息
docker inspect -f '{{.Mounts}}' my-nginx

# 查看容器启动命令
docker inspect -f '{{.Config.Cmd}}' my-nginx

🔹 命令速查表

类别常用命令说明
镜像pull下载镜像
images查看镜像
rmi删除镜像
容器run创建容器
ps查看容器
stop/start启停容器
rm删除容器
调试logs查看日志
exec进入容器
inspect查看详情

💡 最佳实践建议

  1. 容器命名:始终使用 --name 指定有意义的名称

  2. 自动清理:测试时使用 --rm 选项避免垃圾容器

  3. 日志管理:生产环境建议配置日志驱动(如json-file大小限制)

  4. 安全注意:避免在容器内直接修改数据,应使用数据卷