Docker 完整命令手册(含参数缩写对应英文原意+详解+示例)
先统一规则:
-单个字母:短参数(缩写),对应完整英文单词;--完整单词:长参数(全写),语义直白;- 所有命令格式:
docker 子命令 [参数] [镜像/容器/路径]。
一、前置:全网通用高频参数缩写对照表
(这些参数在绝大多数命令中复用,先记熟)
| 缩写 | 完整英文单词 | 中文含义 & 用途说明 |
|---|---|---|
-a |
--all |
显示所有对象(含已停止/隐藏) |
-d |
--detach |
后台运行、脱离终端(常用在 run) |
-f |
--force / --follow |
1. 强制操作(删除/停止);2. 日志里=实时跟踪 |
-i |
--interactive |
保持标准输入开启,交互式 (必须配 -t) |
-t |
--tty |
分配伪终端窗口,模拟终端界面 |
-it |
组合 -i -t |
交互式进入容器终端(最经典组合) |
-p |
--publish |
端口发布/端口映射:宿主机端口:容器端口 |
-v |
--volume |
数据卷/目录挂载(持久化存储) |
-e |
--env (environment) |
设置环境变量 ,格式 key=value |
-q |
--quiet |
静默模式,只输出ID(批量操作专用) |
-o |
--output |
指定输出文件(保存镜像/容器包) |
--name |
完整单词 | 给容器/网络自定义名称 |
--restart |
完整单词 | 容器重启策略(开机自启) |
二、Docker 基础全局命令
1. docker --version
-
英文原意:version 版本
-
作用:查看当前 Docker 版本
-
示例:
bashdocker --version
2. docker version
- 作用:详细查看客户端、服务端完整版本信息
3. docker info
- 英文原意:info 信息
- 作用:查看 Docker 全局状态(镜像数、容器数、磁盘、驱动、仓库等)
4. docker 命令 --help
-
作用:查看任意命令的官方帮助文档
-
示例:
bashdocker run --help
三、镜像(Image)相关命令
镜像 = 应用模板,所有命令围绕 image 展开
1. docker pull
-
英文原意:pull 拉取、下载
-
作用:从远程仓库(Docker Hub)拉取镜像
-
语法:
docker pull 镜像名[:标签tag] -
示例:
bashdocker pull nginx # 拉取最新版(latest) docker pull mysql:8.0 # 拉取指定版本 8.0
2. docker images
-
英文原意:images 镜像(复数)
-
作用:列出本地所有镜像
-
常用参数:
-q= --quiet:只输出镜像ID
-
示例:
bashdocker images # 列出所有镜像详情 docker images -q # 只打印所有镜像ID
3. docker search
-
英文原意:search 搜索
-
作用:在 Docker Hub 搜索镜像
-
示例:
bashdocker search redis
4. docker rmi
-
拆解:
rm(remove 删除) +i(image 镜像) -
英文原意:remove image 删除镜像
-
语法:
docker rmi [参数] 镜像ID/镜像名 -
常用参数:
-f= --force:强制删除(镜像被容器引用时也能删)
-
示例:
bashdocker rmi nginx # 删除 nginx 镜像 docker rmi -f mysql # 强制删除 mysql 镜像 docker rmi $(docker images -q) # 批量删除所有镜像
5. docker build
-
英文原意:build 构建
-
作用:根据
Dockerfile构建自定义镜像 -
常用参数:
-t= --tag:给镜像打标签(命名+版本),格式镜像名:版本
-
语法:
docker build -t 镜像名:版本 Dockerfile所在目录 -
示例(当前目录构建):
bashdocker build -t my-web:v1 .
6. docker tag
-
英文原意:tag 标签
-
作用:给已有镜像重命名/打新标签(用于推送私有仓库)
-
示例:
bashdocker tag nginx:latest my-nginx:v1
7. docker save
-
英文原意:save 保存
-
作用:将镜像打包为
.tar文件(离线迁移) -
常用参数:
-o= --output:指定输出文件名
-
示例:
bashdocker save -o nginx.tar nginx
8. docker load
-
英文原意:load 加载
-
作用:从
.tar包导入镜像 -
常用参数:
-i= --input:指定导入文件
-
示例:
bashdocker load -i nginx.tar
四、容器(Container)相关命令【核心重点】
容器 = 镜像运行后的实例,日常使用最多
1. docker run(重中之重,参数最多)
-
英文原意:run 运行、启动
-
作用:创建 + 启动容器(一条命令完成两步)
-
完整通用语法 + 参数逐字拆解:
bashdocker run [参数] 镜像名
核心参数拆解(缩写+英文+作用)
| 参数 | 完整单词 | 作用 |
|---|---|---|
-d |
--detach | 后台运行容器(不占用终端) |
-it |
--interactive + --tty | 交互式终端,进入容器内部 |
--name xxx |
--name | 给容器自定义名称 xxx |
-p 宿主机:容器 |
--publish | 端口映射,对外暴露服务 |
-v 外部:容器内 |
--volume | 目录/数据卷挂载,数据持久化 |
-e key=val |
--env | 设置容器环境变量 |
--restart=always |
--restart | Docker 重启时,容器自动重启(开机自启) |
实战示例
bash
# 1. 后台启动 Nginx(基础用法)
docker run -d --name my-nginx -p 80:80 nginx
# 2. 启动 MySQL + 环境变量(设置密码)
docker run -d --name my-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
# 3. 交互式启动 CentOS,直接进入终端
docker run -it --name my-centos centos /bin/bash
2. docker ps
-
英文原意:Process Status 进程状态
-
作用:查看容器运行状态
-
常用参数:
- 无参数:只看正在运行的容器
-a= --all:查看所有容器(运行中 + 已停止)-q= --quiet:只输出容器ID
-
示例:
bashdocker ps # 正在运行的容器 docker ps -a # 全部容器 docker ps -aq # 所有容器ID(批量操作)
3. docker exec
-
英文原意:execute 执行
-
作用:在已运行的容器内执行命令(最常用:进入容器终端)
-
常用参数:
-it:交互式进入终端
-
语法:
docker exec -it 容器名/ID 执行命令 -
示例:
bash# 进入 nginx 容器终端(退出容器不会停止) docker exec -it my-nginx /bin/bash
4. 容器启停类命令
4.1 docker start
- 英文原意:start 启动
- 作用:启动已停止的容器
bash
docker start my-nginx
4.2 docker stop
- 英文原意:stop 停止
- 作用:优雅停止容器(正常关闭进程)
bash
docker stop my-nginx
4.3 docker restart
- 英文原意:restart 重启
- 作用:重启容器(先停再启)
bash
docker restart my-nginx
4.4 docker kill
- 英文原意:kill 杀死
- 作用:强制断电式停止容器(暴力终止)
bash
docker kill my-nginx
4.5 docker pause / docker unpause
- pause:暂停容器;unpause:恢复容器
bash
docker pause my-nginx
docker unpause my-nginx
5. docker rm
-
拆解:
rm= remove 删除 -
英文原意:remove container 删除容器
-
作用:删除容器
-
常用参数:
-f= --force:强制删除运行中的容器
-
示例:
bashdocker rm my-nginx # 删除已停止的容器 docker rm -f my-nginx # 强制删除运行中的容器 docker rm $(docker ps -aq) # 批量删除所有容器
易混区分:
docker rm→ 删除容器docker rmi→ 删除镜像
6. docker cp
-
英文原意:copy 复制
-
作用:宿主机 ↔ 容器 互相拷贝文件/目录
-
语法:
- 宿主机 → 容器:
docker cp 本地路径 容器名:容器内路径 - 容器 → 宿主机:
docker cp 容器名:容器内路径 本地路径
- 宿主机 → 容器:
-
示例:
bash# 把本地 index.html 传到 nginx 容器 docker cp index.html my-nginx:/usr/share/nginx/html/
7. docker rename
- 英文原意:rename 重命名
- 作用:修改容器名称
bash
docker rename 旧名 新名
8. docker inspect
- 英文原意:inspect 检查、查看详情
- 作用:查看容器/镜像完整底层信息(IP、挂载、端口、配置等)
bash
docker inspect my-nginx
9. docker export
- 英文原意:export 导出
- 作用:将容器导出为 tar 包(和 save 区别:export 针对容器)
bash
docker export -o nginx-container.tar my-nginx
五、数据卷(Volume)命令
数据卷:Docker 托管的持久化存储,命令统一前缀 docker volume
1. docker volume ls
- ls = list 列表
- 作用:列出所有数据卷
bash
docker volume ls
2. docker volume create
- create 创建
- 作用:手动创建具名数据卷
bash
docker volume create nginx-vol
3. docker volume inspect
- inspect 查看详情
- 作用:查看数据卷真实宿主机路径(Mountpoint)
bash
docker volume inspect nginx-vol
4. docker volume rm
- rm = remove 删除
- 作用:删除指定数据卷
bash
docker volume rm nginx-vol
5. docker volume prune
- prune 修剪、清理
- 作用:清理所有未被使用的数据卷
bash
docker volume prune
六、网络(Network)命令
容器互通、端口隔离使用,前缀 docker network
1. docker network ls
- ls = list 列表
- 作用:查看所有 Docker 网络
bash
docker network ls
2. docker network create
- create 创建
- 作用:创建自定义网络(推荐,容器可通过名字互通)
bash
docker network create my-net
3. docker network connect
- connect 连接
- 作用:把容器加入指定网络
bash
docker network connect my-net my-nginx
4. docker network disconnect
- disconnect 断开
- 作用:容器退出指定网络
bash
docker network disconnect my-net my-nginx
5. docker network rm
- rm = remove 删除
- 作用:删除自定义网络
bash
docker network rm my-net
6. docker network prune
- prune 清理
- 作用:清理无用网络
bash
docker network prune
七、日志 & 资源监控
1. docker logs
-
logs 日志
-
作用:查看容器运行日志
-
常用参数:
-f= --follow:实时滚动日志(持续监听)-t= --timestamps:显示时间戳--tail n:只看最后 n 行日志
-
示例:
bashdocker logs my-nginx docker logs -f my-nginx # 实时日志 docker logs --tail 20 my-nginx # 最后20行
2. docker stats
- stats 统计
- 作用:实时查看所有容器 CPU、内存、网络、磁盘 资源占用
bash
docker stats
八、系统全局清理命令
1. docker system prune
- system 系统;prune 清理
- 作用:一键清理:停止的容器、无用网络、构建缓存、悬空镜像
bash
docker system prune
- 扩展:
docker system prune -a-a= --all:额外清理所有未使用镜像(谨慎使用)
2. docker builder prune
- builder 构建器
- 作用:单独清理镜像构建缓存
bash
docker builder prune
九、镜像仓库登录 & 推送
1. docker login
- login 登录
- 作用:登录 Docker Hub / 私有镜像仓库
bash
docker login -u 用户名
2. docker logout
- logout 登出
- 作用:退出仓库登录
bash
docker logout
3. docker push
- push 推送
- 作用:把本地镜像推送到远程仓库
bash
docker push my-nginx:v1
十、Docker Compose 编排命令(多容器管理)
文件:docker-compose.yml,所有命令必须在配置文件所在目录执行
1. docker-compose up
-
up 启动、拉起服务
-
常用参数:
-d= --detach:后台运行--build:重新构建镜像再启动
-
示例:
bashdocker-compose up -d # 后台启动所有服务(最常用) docker-compose up -d --build # 重新构建并启动
2. docker-compose ps
- ps = process status 进程状态
- 作用:只查看当前 Compose 项目下的容器状态
bash
docker-compose ps
3. docker-compose logs
- logs 日志
- 参数
-f= --follow:实时日志
bash
docker-compose logs -f # 所有服务实时日志
docker-compose logs -f web # 只看 web 服务日志
4. docker-compose exec
- exec = execute 执行
- 作用:进入 Compose 管理的容器(直接写服务名,不用容器名)
bash
docker-compose exec web /bin/bash
5. docker-compose start
- start 启动:启动已停止的服务(不新建容器)
bash
docker-compose start
6. docker-compose stop
- stop 停止:暂停服务,保留容器、数据、网络
bash
docker-compose stop
7. docker-compose restart
- restart 重启所有服务
bash
docker-compose restart
8. docker-compose down
- down 下线、关停:停止 + 删除容器 + 删除网络
- 扩展参数:
-v= --volumes:连带删除数据卷(清空数据,慎用)
bash
docker-compose down # 删容器+网络,保留数据
docker-compose down -v # 删容器+网络+数据卷
9. docker-compose pull
- pull 拉取:拉取配置文件中定义的最新镜像
bash
docker-compose pull
十一、易混淆命令速记表(收尾总结)
| 命令 | 英文全称 | 核心作用 |
|---|---|---|
docker rm |
remove container | 删除容器 |
docker rmi |
remove image | 删除镜像 |
docker ps |
process status | 查看容器进程 |
docker pull |
pull | 拉取镜像 |
docker push |
push | 推送镜像 |
docker run |
run | 创建并启动容器 |
docker exec |
execute | 在运行容器内执行命令 |
prune |
prune | 批量清理无用资源 |
十二、日常高频命令极简背诵版
- 拉镜像:
docker pull 镜像名 - 启容器:
docker run -d --name 名 -p 端口 镜像 - 看容器:
docker ps / docker ps -a - 进容器:
docker exec -it 容器名 bash - 删容器:
docker rm -f 容器名 - 删镜像:
docker rmi -f 镜像名 - 看日志:
docker logs -f 容器名 - 清理空间:
docker system prune - Compose 启动:
docker-compose up -d - Compose 关停:
docker-compose down