目录

Docker 命令大全(速查表)

本页整理了日常最常用的 Docker 命令,以 Docker 29 为准。每条命令的详细说明与实际输出,请点击各章节的链接。最后一节整理了本教程实测时发现的常见陷阱。

容器

命令说明
docker run -d --name web -p 8080:80 nginx:1.30在后台运行容器并映射端口
docker run -it --rm ubuntu:26.04 bash以交互模式运行,退出后自动删除
docker ps列出正在运行的容器
docker ps -a列出所有容器
docker stop web停止容器
docker start web启动已停止的容器
docker restart web重启容器
docker rm web删除已停止的容器
docker rm -f web强制删除正在运行的容器
docker logs -f web跟踪容器日志
docker logs --tail 100 web查看最后 100 行日志
docker exec -it web sh进入容器的 shell
docker cp web:/path/file .将文件从容器复制到主机
docker inspect web查看容器详细信息
docker stats实时查看资源使用情况
docker top web查看容器内的进程
docker port web查看端口映射
docker update --restart unless-stopped web修改重启策略
docker run --init ...使用轻量级 init 作为 PID 1,正确转发停止信号

延伸阅读:docker run 参数、容器生命周期、查看日志与调试

镜像

命令说明
docker images列出本地镜像
docker images --tree显示多平台镜像所包含的平台
docker pull nginx:1.30下载镜像
docker tag myapp user/myapp:1.0添加新名称/标签
docker push user/myapp:1.0推送到 Registry
docker rmi nginx:1.30删除镜像
docker history nginx:1.30查看分层信息
docker buildx imagetools inspect nginx:1.30-alpine查看远程镜像支持的平台
docker save -o img.tar myapp导出为文件
docker load -i img.tar从文件导入
docker login / docker logout登录 / 登出 Registry

延伸阅读:镜像、推送到 Docker Hub

构建

命令说明
docker build -t myapp .使用当前文件夹中的 Dockerfile 构建
docker build -f Dockerfile.prod -t myapp .指定 Dockerfile
docker build --no-cache -t myapp .不使用缓存
docker build --pull -t myapp .重新拉取基础镜像
docker build --target dev -t myapp:dev .只构建到指定阶段
docker build --build-arg VERSION=1.2 .传入构建参数(不要用来传递密码)
docker build --secret id=token,env=TOKEN .传入构建所需的机密,不会留在镜像中
docker build --progress plain .显示完整的构建输出
docker buildx build --platform linux/amd64,linux/arm64 -t user/app --push .构建多平台镜像并推送

延伸阅读:Dockerfile 命令大全、构建缓存与优化、多阶段构建、多平台镜像

Volume

命令说明
docker volume create data创建 Volume
docker volume ls列出 Volume
docker volume inspect data查看详细信息
docker volume rm data删除 Volume
docker run -v data:/app/data myapp挂载命名 Volume
docker run -v "$(pwd):/app" myapp挂载当前文件夹

延伸阅读:Volume 与数据持久化

网络

命令说明
docker network create appnet创建自定义网络
docker network ls列出网络
docker network inspect appnet查看网络中的容器
docker run --network appnet --name db postgres:18让容器加入网络
docker network connect appnet web将正在运行的容器加入网络
docker network rm appnet删除网络

延伸阅读:网络与容器互连

Docker Compose

命令说明
docker compose up -d在后台启动所有服务
docker compose up -d --build重新构建后启动
docker compose up -d --wait等所有服务都 healthy 后再返回
docker compose up -d app只更新/重建某个服务
docker compose down停止并删除容器与网络
docker compose down -v同时删除 Volume
docker compose ps查看服务状态
docker compose logs -f app跟踪某个服务的日志
docker compose exec app sh进入服务容器
docker compose run --rm app npm test执行一次性命令
docker compose pull下载最新镜像
docker compose restart app重启服务(不会应用已修改的配置)
docker compose watch文件变更时自动同步或重建(用于开发)
docker compose --profile tools up -d同时启动 profile 中的服务
docker compose config检查最终配置

延伸阅读:Docker Compose 入门、docker compose 命令

清理

命令说明
docker system df查看空间使用情况
docker container prune删除已停止的容器
docker image prune -a删除未使用的镜像
docker builder prune清除构建缓存
docker builder prune --filter until=168h只清除 7 天以上未使用的构建缓存
docker volume prune删除未使用的匿名 Volume
docker volume prune -a删除所有未使用的 Volume,包括命名数据库数据
docker system prune综合清理(不包括 Volume)
docker system prune --volumes综合清理,并清除匿名 Volume(从 Docker 23 起不包括命名 Volume)

延伸阅读:清理硬盘空间

系统信息

命令说明
docker version客户端与服务器版本
docker infoDocker 系统信息
docker events实时事件
docker context ls列出可连接的 Docker 环境

常用参数速记

参数含义
-d在后台运行
-it交互模式 + 终端
-p 主机:容器端口映射
-v 来源:容器路径挂载
-e KEY=VALUE环境变量
--name容器名称
--rm退出后自动删除
--network指定网络
--restart重启策略
-f强制(rm、rmi)或跟踪(logs)

常见陷阱(本教程实测)

现象原因与解决方法章节
docker stop 要等 10 秒程序是 PID 1 且没有处理 SIGTERM。在程序中处理,或添加 --initNode.js 应用
容器名称为 web 时连接到 127.0.53.53.web 是顶级域名,名称被当作外部域名解析。换个名称docker run 参数
postgres:18 启动后立即退出18 版需要挂载 /var/lib/postgresql,而不是 /var/lib/postgresql/dataPostgreSQL
数据库还没就绪就报告 healthypg_isready、mysqladmin ping 需要添加 -h 127.0.0.1MySQL、PostgreSQL
Redis 密码错误时健康检查仍然通过redis-cli ping 出错时退出代码仍为 0,添加 | grep -q PONGRedis
修改 MYSQL_ROOT_PASSWORD 没有效果密码变量只在首次初始化时使用MySQL
修改了配置文件,容器内仍然是旧内容挂载单个文件时,编辑器保存会替换该文件。重启容器或改为挂载文件夹Nginx
--env-file 的值带有引号docker run --env-file 不会去掉引号,Compose 的 env_file 会环境变量
用 rm 删除的机密仍在镜像中每一层都会保留内容;ARG、ENV 也能看到。请使用 --secret安全最佳实践
exec format errorCPU 架构不同,请使用 --platform 或构建多平台镜像多平台镜像

常见问题

命令太多记不住怎么办?

先记住 run、ps、logs、exec、stop、rm、build、compose up/down 这几个,其他需要时查阅本页或 docker 命令 --help。

哪里能找到每条命令的完整参数?

常用命令的完整参数与示例见“命令参考”分类,例如 [docker build](/zh/docker/docker-build/)、[docker ps](/zh/docker/docker-ps/)。

更新于 2026年10月14日