Docker 核心命令速查表(精细分类版)
Docker 核心命令速查表(精细分类版)
一、镜像管理(下载/查看/构建/推送)
| 命令 | 核心功能 | 实用示例 |
|---|---|---|
docker pull <镜像[:标签]> | 从仓库下载镜像 | docker pull nginx:1.25(指定稳定版本) |
docker images | 列出本地所有镜像 | docker images(展示名称、ID、标签、大小) |
docker rmi <镜像ID/名称> | 删除本地镜像 | docker rmi nginx:1.25(删除指定版本) |
docker search <关键词> | 搜索仓库镜像(过滤官方) | docker search --filter "is-official=true" mysql |
docker build -t <镜像名[:版本]> <目录> | 基于Dockerfile构建镜像 | docker build -t my-app:1.0 .(当前目录构建) |
docker tag <原镜像> <新镜像> | 镜像打标签(用于推送) | docker tag my-app:1.0 username/my-app:1.0 |
docker push <镜像名[:版本]> | 推送镜像到仓库 | docker push username/my-app:1.0(推送到Docker Hub) |
二、容器管理(创建/启停/删除/调试)
2.1 容器基础操作
| 命令 | 核心功能 | 实用示例 |
|---|---|---|
docker run [参数] <镜像> | 创建并运行容器(核心) | docker run -d -p 80:80 --name my-nginx nginx |
docker ps | 查看正在运行的容器 | docker ps(展示容器ID、名称、镜像、端口) |
docker ps -a | 查看所有容器(含停止) | docker ps -a(含历史运行记录) |
docker stop <容器ID/名称> | 停止运行中的容器 | docker stop my-nginx 或 docker stop 123456 |
docker start <容器ID/名称> | 启动已停止的容器 | docker start my-nginx |
docker restart <容器ID/名称> | 重启容器 | docker restart my-nginx |
docker rm <容器ID/名称> | 删除容器(需先停止) | docker rm my-nginx(强制删除用 -f 参数) |
2.2 容器调试与查看
| 命令 | 核心功能 | 实用示例 |
|---|---|---|
docker exec -it <容器ID/名称> <命令> | 进入容器交互式终端 | docker exec -it my-nginx /bin/bash |
docker logs <容器ID/名称> | 查看容器运行日志 | docker logs -f my-nginx(实时刷新日志) |
docker inspect <容器ID/名称> | 查看容器详细配置 | docker inspect my-nginx(网络、挂载、环境变量等) |
docker stats <容器ID/名称> | 查看容器资源占用(CPU/内存) | docker stats my-nginx |
三、容器核心参数(docker run 专用)
| 参数 | 核心功能 | 实用示例 |
|---|---|---|
-d | 后台运行容器(守护态) | docker run -d nginx |
-p <宿主机端口>:<容器端口> | 端口映射(外部访问容器) | docker run -p 8080:80 nginx(宿主机8080→容器80) |
-v <宿主机路径/卷名>:<容器路径> | 数据挂载(持久化) | docker run -v nginx-data:/usr/share/nginx/html nginx(命名卷) |
-e <KEY>=<VALUE> | 设置容器环境变量 | docker run -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0 |
--name <容器名称> | 自定义容器名称(唯一) | docker run --name my-mysql mysql:8.0 |
--restart <策略> | 容器重启策略 | docker run --restart unless-stopped mysql:8.0(意外停止自动重启) |
--network <网络名> | 指定容器所属网络 | docker run --network my-net nginx |
--rm | 容器停止后自动删除 | docker run --rm -it alpine /bin/sh(临时调试) |
四、数据卷管理(数据持久化)
| 命令 | 核心功能 | 实用示例 |
|---|---|---|
docker volume create <卷名> | 创建命名数据卷 | docker volume create nginx-data |
docker volume ls | 列出所有数据卷 | docker volume ls(展示卷名、驱动、作用域) |
docker volume inspect <卷名> | 查看卷详细信息(宿主机路径) | docker volume inspect nginx-data |
docker volume rm <卷名> | 删除指定数据卷 | docker volume rm nginx-data |
docker volume prune | 删除未使用的数据卷(清理空间) | docker volume prune(谨慎使用,批量删除无用卷) |
五、网络管理(容器通信)
| 命令 | 核心功能 | 实用示例 |
|---|---|---|
docker network ls | 列出所有Docker网络 | docker network ls(展示网络名、ID、驱动) |
docker network create <网络名> | 创建自定义桥接网络 | docker network create my-net(容器间可通过名称通信) |
docker network connect <网络名> <容器ID/名称> | 将容器加入网络 | docker network connect my-net my-nginx |
docker network disconnect <网络名> <容器ID/名称> | 容器退出网络 | docker network disconnect my-net my-nginx |
docker network rm <网络名> | 删除自定义网络 | docker network rm my-net(默认网络不可删除) |
六、Dockerfile 核心指令(构建镜像)
| 指令 | 核心功能 | 实用示例 |
|---|---|---|
FROM <基础镜像> | 指定基础镜像(必需首行) | FROM ubuntu:jammy 或 FROM python:3.11-slim |
WORKDIR <目录路径> | 设置镜像内工作目录 | WORKDIR /app(后续命令在此目录执行) |
COPY <宿主机路径> <镜像路径> | 拷贝宿主机文件到镜像 | COPY ./requirements.txt /app/ |
ADD <源路径> <目标路径> | 拷贝+解压(支持URL/压缩包) | ADD https://xxx.tar.gz /app/(自动解压) |
RUN <命令> | 构建时执行命令(安装依赖) | RUN pip install -r requirements.txt 或 RUN apt update && apt install vim |
EXPOSE <端口号> | 声明容器服务端口(仅文档) | EXPOSE 5000(实际映射需用 -p 参数) |
CMD <命令> | 容器启动默认命令(仅1个) | CMD ["python", "app.py"](JSON格式优先) |
ENTRYPOINT <命令> | 容器入口命令(优先级高于CMD) | ENTRYPOINT ["java", "-jar", "app.jar"] |
ENV <KEY>=<VALUE> | 设置镜像环境变量(全局) | ENV PYTHONUNBUFFERED=1(避免日志缓存) |
七、Docker Compose 命令(多容器编排)
7.1 服务启停与管理
| 命令 | 核心功能 | 实用示例 |
|---|---|---|
docker compose up | 启动所有服务(创建容器/网络) | docker compose up -d(后台运行, -d 必加) |
docker compose down | 停止并删除服务/网络/容器/卷 | docker compose down(默认不删卷,加 -v 删卷) |
docker compose stop | 仅停止服务(不删除容器) | docker compose stop(保留容器和配置) |
docker compose start | 启动已停止的服务 | docker compose start |
docker compose restart | 重启所有服务 | docker compose restart |
7.2 服务查看与调试
| 命令 | 核心功能 | 实用示例 |
|---|---|---|
docker compose ps | 查看Compose管理的容器 | docker compose ps(展示服务名、容器ID、状态) |
docker compose logs <服务名> | 查看指定服务日志 | docker compose logs -f backend(实时刷新后端日志) |
docker compose exec <服务名> <命令> | 进入服务容器终端 | docker compose exec mysql /bin/bash(进入MySQL容器) |
7.3 其他常用命令
| 命令 | 核心功能 | 实用示例 |
|---|---|---|
docker compose build | 构建Compose中的服务镜像 | docker compose build(更新镜像时使用) |
docker compose pull | 拉取Compose中的所有镜像 | docker compose pull(避免本地镜像过时) |
docker compose -f <文件.yml> up | 指定非默认Compose文件 | docker compose -f app-prod.yml up -d(生产环境配置) |
