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

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

相关推荐
梦梦代码精7 小时前
深度拆解:上门按摩系统如何成为本地生活“到家时代”的新引擎?
docker·小程序·uni-app·开源·生活·开源软件
再战300年7 小时前
通过docker实现mysql一主多从
mysql·docker·容器
huipeng9268 小时前
基于SpringCloud的博客系统
java·运维·后端·spring·spring cloud·微服务
刘一说8 小时前
Ubuntu 系统上安装 Docker
linux·ubuntu·docker
askama008 小时前
Ubuntu使用阿里源安装Docker
docker
念恒1230610 小时前
Docker基础--CGroups资源控制实战(包含部分指令)
运维·docker·容器
Benszen10 小时前
docker简介
运维·docker·容器
Devin~Y11 小时前
大厂Java面试实录:Spring Boot/Cloud、JVM、Redis、Kafka、MyBatis 到 RAG/Agent 的三轮连环问(含答案详解)
java·jvm·spring boot·redis·spring cloud·kafka·mybatis
MAVER1CK19 小时前
Docker容器创建好后修改容器配置
运维·docker·容器