Docker 命令速查手册

Docker 命令速查手册

近期转战运维,各种和docker打交道。记录一下常用到的命令。


一、基础信息与帮助

命令 详细解释
docker --version 仅显示 Docker 客户端版本号,用于快速确认是否安装成功。
docker version 显示 Client(客户端)和 Server(守护进程)的完整版本信息,常用于排查版本不兼容问题。
docker info 查看 Docker 系统全局信息,包括容器数量、镜像数量、存储驱动、CPU / 内存、镜像仓库等。
docker help 显示所有可用命令分类及简要说明。
docker <cmd> --help 查看某个具体命令的参数说明,例如 docker run --help

二、镜像(Image)管理

1️⃣ 获取镜像

复制代码
docker pull nginx:1.25
  • 作用:从镜像仓库(默认 Docker Hub)下载镜像。
  • :1.25 :指定标签(tag),不写默认是 latest

2️⃣ 查看镜像

复制代码
docker images
docker image ls
  • 显示本地已有镜像。

  • 字段含义: REPOSITORY:镜像名 TAG:版本 IMAGE ID:镜像唯一 ID SIZE:占用空间

    docker images -a

  • 显示所有镜像(包括中间层镜像)。


3️⃣ 构建镜像

复制代码
docker build -t myapp:1.0 .
  • build:根据 Dockerfile 构建镜像。

  • -t:指定镜像名和标签。

  • .:构建上下文路径(Dockerfile 所在目录)。

    docker build -t myapp:prod -f Dockerfile.prod .

  • -f:指定自定义 Dockerfile 文件名。


4️⃣ 删除镜像

复制代码
docker rmi nginx:1.25
  • 删除指定镜像(需先删除依赖它的容器)。

    docker rmi <image_id>

  • 使用镜像 ID 删除。

    docker image prune

  • 删除 悬空镜像(没有 tag 的镜像)。

    docker image prune -a

  • 删除 所有未被容器使用的镜像(⚠️ 谨慎)。


5️⃣ 导出 / 导入镜像

复制代码
docker save myapp:1.0 > myapp.tar
  • 将镜像保存为 tar 文件,便于离线传输。

    docker load < myapp.tar

  • 从 tar 文件加载镜像到本地。


三、容器(Container)管理

1️⃣ 运行容器

复制代码
docker run nginx
  • 前台运行容器,终端关闭则容器停止。

    docker run -d nginx

  • -d后台运行(detached)。

    docker run -p 8080:80 nginx

  • -p:端口映射 宿主机端口 : 容器端口

    docker run --name mynginx -d -p 80:80 nginx

  • --name:指定容器名称(不可重复)。

bash 复制代码
docker run --name mynginx --network host -d  nginx
  • --network:使用网络,host指使用宿主机网络栈。注意:--network host 和-p 80:80互斥,因为--network host已经使用了宿主机网络了,就不需要再做端口映射了

常用运行参数详解

参数 含义
-it 交互式终端(常用于 shell)
--rm 容器停止后自动删除
-e KEY=value 设置环境变量
-v 挂载数据卷或目录
--restart=always Docker 启动时自动启动容器

2️⃣ 查看容器

复制代码
docker ps
  • 查看正在运行的容器。

    docker ps -a

  • 查看所有容器(含已停止)。


3️⃣ 启停容器

复制代码
docker start mynginx
docker stop mynginx
docker restart mynginx
  • 启动 / 停止 / 重启容器。

    docker pause mynginx
    docker unpause mynginx

  • 暂停 / 恢复容器内所有进程(冻结 CPU)。


4️⃣ 删除容器

复制代码
docker rm mynginx
  • 删除已停止的容器。

    docker rm -f mynginx

  • 强制删除(无论是否运行)。

    docker container prune

  • 删除所有已停止的容器。


四、进入容器与日志

进入容器

复制代码
docker exec -it mynginx bash
  • exec:在 运行中的容器 执行命令。
  • -it:分配交互式终端。
  • bash:启动 Bash(若无 Bash 可用 sh)。

查看日志

复制代码
docker logs mynginx
  • 查看容器标准输出日志。

    docker logs -f mynginx

  • 实时跟踪日志(类似 tail -f)。

    docker logs --tail 100 mynginx

  • 只看最后 100 行。

bash 复制代码
docker logs --tail 100 mynginx
  • 查看最近 100 条日志,并持续实时输出新日志。

五、数据卷(Volume)

复制代码
docker volume create mydata
  • 创建一个命名数据卷。

    docker volume ls

  • 列出所有数据卷。

    docker volume inspect mydata

  • 查看数据卷详细信息(挂载点位置等)。

    docker volume rm mydata

  • 删除指定数据卷。

    docker volume prune

  • 删除未使用的数据卷。


挂载示例说明

复制代码
-v mydata:/usr/share/nginx/html
  • 使用 命名卷

    -v $(pwd):/app

  • 使用 主机目录绑定挂载(Bind Mount)。


六、网络(Network)

复制代码
docker network ls
  • 查看所有网络。

    docker network create mynet

  • 创建自定义桥接网络。

    docker network inspect mynet

  • 查看网络详情(连接的容器等)。

    docker network connect mynet mynginx

  • 将容器接入指定网络。

    docker network disconnect mynet mynginx

  • 断开连接。


七、Docker Compose

复制代码
docker compose up -d
  • 根据 docker-compose.yml启动所有服务。

    docker compose down

  • 停止并删除容器、网络(不会删镜像)。

    docker compose ps

  • 查看当前项目容器状态。

    docker compose logs

  • 查看所有服务日志。

    docker compose build

  • 构建镜像。


八、资源与性能

命令 说明
docker stats 实时查看容器 CPU / 内存 / 网络
docker top mynginx 查看容器内运行的进程
docker inspect mynginx 查看容器底层 JSON 信息
docker diff mynginx 查看容器文件系统变更

九、清理与维护

涉及容器安全,谨慎处理

复制代码
docker system df
  • 查看 Docker 磁盘占用情况。

    docker system prune

  • 删除停止容器、未用网络、悬空镜像。

    docker system prune -a --volumes

  • ⚠️ 彻底清理(镜像 + 数据卷),生产环境慎用。

相关推荐
吃饱了得干活1 天前
Spring Cloud Gateway 微服务网关:路由、断言、过滤器
java·spring cloud
Patrick_Wilson4 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy5 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭5 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩6 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵6 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1116 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽8 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康9 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn8612 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker