Docker 常用命令速查笔记
maiaimei 2026/11/14 Docker
整理自 Docker 官方文档,适合日常开发 / 运维快速查阅。
官方文档入口:https://docs.docker.com/
# 一、Docker 安装与状态
# 查看 Docker 版本
docker version
# 查看 Docker 系统信息(镜像数、容器数、存储驱动等)
docker info
# 检查 Docker 服务状态(systemd 系统)
systemctl status docker
# 启动 / 停止 / 重启 Docker
systemctl start docker
systemctl stop docker
systemctl restart docker
# 设置开机自启
systemctl enable docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 二、镜像(Image)操作
# 搜索镜像(默认查 Docker Hub)
docker search nginx
# 拉取镜像(不指定 tag 默认拉 latest)
docker pull nginx:alpine
# 查看本地已有镜像
docker images
docker image ls
# 给镜像打标签
docker tag nginx:alpine myrepo/nginx:test
# 删除镜像(需先删除依赖容器)
docker rmi nginx:alpine
docker image rm <image_id>
# 强制删除镜像
docker rmi -f <image_id>
# 查看镜像构建历史
docker history nginx:alpine
# 导出镜像为 tar 文件
docker save nginx:alpine -o nginx_alpine.tar
# 从 tar 文件导入镜像
docker load -i nginx_alpine.tar
# 清理悬空镜像(dangling images)
docker image prune
# 清理所有未被使用的镜像
docker image prune -a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 三、容器(Container)操作
# 1. 运行容器
# 前台运行(退出即停止)
docker run ubuntu:22.04 echo "hello"
# 后台运行(-d)
docker run -d --name mynginx -p 8080:80 nginx:alpine
# 交互式运行(进入 shell)
docker run -it ubuntu:22.04 /bin/bash
# 自动删除容器(退出后自动 rm)
docker run -it --rm ubuntu:22.04 /bin/bash
# 挂载数据卷
docker run -d \
--name pg17 \
-v pgdata:/var/lib/postgresql/data \
-e POSTGRES_PASSWORD=mysecretpassword \
-p 5432:5432 \
postgres:17.11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
常用参数说明:
| 参数 | 说明 |
|---|---|
-d | 后台运行 |
-it | 交互式终端 |
-p | 端口映射(宿主机:容器) |
-v | 数据卷挂载 |
--name | 指定容器名 |
-e | 环境变量 |
--rm | 退出后自动删除容器 |
--restart | 重启策略(no / always / unless-stopped / on-failure) |
# 2. 查看容器
# 查看运行中的容器
docker ps
# 查看所有容器(含已停止)
docker ps -a
# 查看容器详细信息
docker inspect <container_id>
# 查看容器日志
docker logs <container_id>
# 实时跟踪日志
docker logs -f <container_id>
# 查看容器资源占用
docker stats
docker stats <container_id>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 3. 容器生命周期管理
# 启动 / 停止 / 重启
docker start <container_id>
docker stop <container_id>
docker restart <container_id>
# 暂停 / 恢复
docker pause <container_id>
docker unpause <container_id>
# 强制停止
docker kill <container_id>
# 删除已停止的容器
docker rm <container_id>
# 强制删除运行中的容器
docker rm -f <container_id>
# 删除所有已停止的容器
docker container prune
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 4. 进入容器
# 进入运行中的容器(推荐)
docker exec -it <container_id> /bin/bash
# 若容器无 bash,用 sh
docker exec -it <container_id> /bin/sh
# 在容器内执行单条命令
docker exec <container_id> ls /var/log
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 四、数据卷(Volume)操作
镜像只声明容器内路径;容器运行时才形成挂载关系;宿主机路径由 Docker 或用户绑定决定。
# 查看所有数据卷
docker volume ls
# 创建数据卷
docker volume create pgdata
# 查看数据卷详情
docker volume inspect pgdata
# 删除数据卷
docker volume rm pgdata
# 清理未被使用的卷
docker volume prune
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 五、网络(Network)操作
# 查看网络列表
docker network ls
# 创建自定义网络
docker network create mynet
# 查看网络详情
docker network inspect mynet
# 将容器连接到网络
docker network connect mynet <container_id>
# 断开容器与网络的连接
docker network disconnect mynet <container_id>
# 删除网络
docker network rm mynet
# 清理未使用的网络
docker network prune
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 六、Docker Compose
# 查看版本
docker compose version
# 启动服务(后台)
docker compose up -d
# 启动并强制重建
docker compose up -d --build
# 停止并删除容器、网络
docker compose down
# 停止并删除容器、网络、卷
docker compose down -v
# 查看服务状态
docker compose ps
# 查看服务日志
docker compose logs
# 实时跟踪日志
docker compose logs -f
# 在指定服务中执行命令
docker compose exec web bash
# 拉取 compose 中定义的镜像
docker compose pull
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 七、系统清理
# 查看 Docker 磁盘占用
docker system df
# 清理所有未使用的对象(镜像、容器、网络、构建缓存)
docker system prune
# 深度清理(含未使用镜像)
docker system prune -a
# 清理构建缓存
docker builder prune
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 八、Dockerfile 常用指令速查
| 指令 | 说明 |
|---|---|
FROM | 指定基础镜像 |
LABEL | 添加元数据 |
ENV | 设置环境变量 |
ARG | 构建时参数 |
WORKDIR | 设置工作目录 |
COPY | 复制文件到镜像 |
ADD | 复制文件(支持 URL 和 tar 自动解压) |
RUN | 构建时执行命令 |
CMD | 容器启动默认命令 |
ENTRYPOINT | 容器入口命令 |
EXPOSE | 声明暴露端口 |
VOLUME | 声明数据卷挂载点 |
USER | 指定运行用户 |
HEALTHCHECK | 健康检查 |
# 九、常用组合示例
# 一键启动 PostgreSQL 17.11
docker run -d \
--name postgres17 \
-e POSTGRES_USER=app \
-e POSTGRES_PASSWORD=app123 \
-e POSTGRES_DB=appdb \
-v pgdata:/var/lib/postgresql/data \
-p 5432:5432 \
--restart unless-stopped \
postgres:17.11
# 进入 PostgreSQL 容器执行 psql
docker exec -it postgres17 psql -U app -d appdb
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 十、官方文档导航
| 主题 | 链接 |
|---|---|
| Docker 总览 | https://docs.docker.com/ |
| Docker CLI 参考 | https://docs.docker.com/reference/cli/docker/ |
| Docker Compose | https://docs.docker.com/compose/ |
| Dockerfile 参考 | https://docs.docker.com/reference/dockerfile/ |
| Docker Engine API | https://docs.docker.com/reference/api/engine/ |