news 2026/3/11 21:02:55

Docker命令合集详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker命令合集详解

总结的相对全面且详细的DockerDocker Compose命令合集。为了方便查阅,我将其分为基础/镜像管理容器操作Docker Compose 编排以及常用参数详解四个部分。


第一部分:Docker 基础与镜像命令 (Images)

镜像(Image)是容器的静态模板(类似于软件安装包)。

命令简写/变体作用详解
docker search <关键词>-搜索镜像在 Docker Hub 上搜索公共镜像。
docker pull <镜像名>:<标签>-拉取镜像下载镜像。如果不写标签,默认下载:latest.
docker imagesdocker image ls查看镜像列出本地所有下载的镜像。
docker rmi <镜像ID或名称>docker image rm删除镜像删除本地镜像。如果镜像正在被容器使用,需先删除容器。
docker build -t <名称> .-构建镜像根据当前目录下的Dockerfile构建新镜像。
docker tag <源ID> <新名>-标记镜像给镜像打标签(通常用于上传到私有仓库前)。
docker save -o <包名.tar> <镜像>-导出镜像将镜像保存为 tar 文件(用于离线迁移)。
docker load -i <包名.tar>-导入镜像从 tar 文件加载镜像。
docker container prune-清理容器删除所有已停止的容器。
docker image prune-清理镜像删除所有悬空镜像。
docker image prune -a-清理镜像如果要删除所有未使用的镜像(不管是否悬空)。
docker network prune-清理网络删除所有未使用的网络。
docker volume prune-清理卷删除所有未使用的卷
docker system prune-清理系统慎用。一键清理未使用的镜像、悬空镜像和停止的容器。

第二部分:Docker 容器操作命令 (Containers)

容器(Container)是镜像运行时的实体(类似于运行中的软件进程)。

  1. 生命周期管理
命令作用详解
docker run [参数] <镜像>创建并启动最核心命令(详见下方参数详解)。
docker start <容器ID>启动启动一个已经停止的容器。
docker stop <容器ID>停止优雅停止容器(发送 SIGTERM 信号)。
docker restart <容器ID>重启重启容器。
docker kill <容器ID>强制停止强制杀掉容器进程(发送 SIGKILL 信号)。
docker rm <容器ID>删除容器删除已停止的容器。加-f可强制删除运行中的容器。
  1. 查看与交互
命令作用详解
docker ps查看运行中容器仅列出正在运行的。
docker ps -a查看所有容器列出所有容器(包括已停止的)。
docker logs <容器ID>查看日志查看容器的标准输出日志。常用-f实时跟踪。
docker exec -it <容器ID> /bin/bash进入容器在运行的容器中开启一个交互终端。(sh或bash)
docker inspect <容器ID>查看详情查看容器的 IP、挂载、环境变量等详细 JSON 信息。
docker stats资源监控实时查看容器的 CPU、内存、网络 IO 使用情况。
docker cp <本地路径> <容器ID>:<路径>文件拷贝在宿主机和容器之间复制文件。
docker network ls查看网络查看容器网络ID、类型、名称等信息。
docker volume create <卷名称>创建卷创建容器卷。
docker run -v <卷名称>:/app/data nginx挂载卷将指定卷挂载到容器中。

第三部分:Docker Compose 命令

Docker Compose 用于管理多容器应用。注意:新版 Docker 已集成 Compose,命令由docker-compose变为docker compose(中间是空格),但老写法依然兼容。

命令作用详解
docker-compose up -d启动服务后台启动所有服务。如果镜像不存在会自动构建或拉取。
docker-compose up -d <服务名>启动指定服务后台启动指定服务。如果镜像不存在会自动构建或拉取。
docker-compose down停止并清理停止容器并删除容器、网络。
docker-compose down -v彻底清理在 down 的基础上,同时删除数据卷(Volumes)(慎用)。
docker-compose stop停止停止容器但不删除。
docker-compose start/stop启停仅启动或停止服务,不删除容器。
docker-compose restart重启重启服务。
docker-compose up -d --force-recreate重建强制重新创建容器
docker-compose ps查看状态查看当前 docker-compose.yml 管理的容器状态。
docker-compose logs -f查看日志实时查看所有服务的日志聚合。
docker-compose logs -f <服务名>指定日志仅查看某一个服务的日志。推荐使用–tail参数只获取最新日志
docker-compose build构建重新构建镜像(不启动)。
docker-compose pull拉取拉取 docker-compose.yml 中定义的镜像。
docker-compose pull <服务名>拉取拉取 docker-compose.yml 中指定服务名镜像。
docker-compose config检查配置验证 docker-compose.yml 文件格式是否正确。

第四部分:核心命令参数详解 (重点)

初学者最容易晕的是docker rundocker compose的各种参数,这里做深度解析。

1.docker run常用参数

语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

  • -d(Detached):后台运行容器,并返回容器 ID。

    • 例:docker run -d nginx
  • -p(Port):端口映射。格式为宿主机端口:容器端口

    • 例:docker run -p 8080:80 nginx(访问宿主机的 8080 即访问容器的 80)。
  • -v(Volume):挂载数据卷。格式为宿主机路径:容器路径

    • 例:docker run -v /data/html:/usr/share/nginx/html nginx
  • --name:给容器起一个好记的名字(否则是随机名)。

    • 例:docker run --name my-web nginx
  • -e(Environment):设置环境变量。

    • 例:docker run -e MYSQL_ROOT_PASSWORD=123456 mysql
  • --restart:重启策略。

    • no: 默认,不重启。
    • always: 只要容器退出了就重启(开机自启常用)。
    • on-failure: 只有非正常退出(错误码非0)才重启。
  • --network:指定网络模式(如host,bridge或自定义网络)。

  • --rm:容器停止后自动删除容器文件(用于临时测试)。

2.docker logs常用参数
  • -f(Follow):实时跟踪日志输出(类似于 Linux 的tail -f)。

  • --tail <行数>:仅查看最后 N 行。

    • 例:docker logs -f --tail 100 my-web
3.docker exec常用参数
  • -i(Interactive):保持 STDIN 打开。
  • -t(TTY):分配一个伪终端。
  • 组合使用-it:几乎是搭配使用的,让我们像通过 SSH 一样进入容器。(部分容器可能没有入口)

第五部分:实战场景举例

场景 1:彻底清理 Docker 空间

当磁盘空间不足时,运行以下命令清理所有不再使用的资源:

# 清理停止的容器、未被使用的网络、悬空的镜像 docker system prune # 如果要连同未使用的数据卷一起清理(注意数据丢失风险) docker system prune --volumes
场景 2:更新 Docker Compose 服务

当你修改了docker-compose.yml或代码需要重新部署时:

# 1. 拉取最新镜像(如果使用的是远程镜像) docker compose pull # 2. 重新构建(如果使用的是本地 Dockerfile) docker compose build # 3. 重新启动(Docker 会智能识别变更,仅重启有变化的服务) docker compose up -d # 4. 删除旧的无用镜像 docker image prune -f
场景 3:调试容器

容器启动失败,如何排查?

# 1. 查看容器状态,看是否 Exited docker ps -a # 2. 查看日志报错 docker logs <容器ID> # 3. 如果容器还在运行但服务不正常,进入容器内部查看 docker exec -it <容器ID> /bin/sh # 检查配置文件或网络连接 ping baidu.com cat /etc/nginx/nginx.conf

总结速查表 (Cheat Sheet)

  • 启动:docker run -d -p 80:80 --name web nginx
  • 进入:docker exec -it web bash
  • 日志:docker logs -f web
  • 停止删:docker stop web && docker rm web
  • 编排起:docker compose up -d
  • 编排停:docker compose down
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/11 19:38:22

Windows系统pgvector一键部署攻略:告别编译烦恼,轻松开启向量搜索

还在为pgvector在Windows上的安装而头疼吗&#xff1f;&#x1f914; 别担心&#xff0c;今天我带你绕开所有坑点&#xff0c;用最简单的方式在Windows系统上成功部署这个强大的PostgreSQL向量搜索扩展&#xff01;无论你是AI开发者还是数据库爱好者&#xff0c;都能在10分钟内…

作者头像 李华
网站建设 2026/3/11 22:21:33

伊朗地毯数据集,波斯地毯Lechak-Toranj和Afshan图案分类,计算机视觉机器学习训练,纺织设计分析增强样本,装饰艺术特征提取对称检测算法,纹理分析Gabor滤波,个性化定制图案生成

伊朗地毯数据集&#xff0c;波斯地毯Lechak-Toranj和Afshan图案分类&#xff0c;计算机视觉机器学习训练&#xff0c;纺织设计分析增强样本&#xff0c;装饰艺术特征提取对称检测算法&#xff0c;纹理分析Gabor滤波&#xff0c;个性化定制图案生成 在传统艺术文化遗产保护、纺…

作者头像 李华
网站建设 2026/3/11 9:56:31

[基础算法学习]backtrack回溯法(三):从N皇后、解数独带你掌握棋盘回溯问题

[基础算法学习]backtrack回溯法(三):从N皇后、解数独带你掌握棋盘回溯问题 在回溯法(一)和回溯法(二)两篇文章中&#xff0c;介绍了回溯法的万能模版以及树枝去重、树层去重剪枝技巧。本文将继续讲解回溯法中较难一类问题——棋盘问题&#xff0c;并通过N皇后和 解数独两道经典…

作者头像 李华
网站建设 2026/3/11 6:13:25

Go之路 - 7.go的函数

一、函数基础 1.1 函数声明 // 基本语法 func 函数名(参数列表) (返回值列表) {// 函数体 }// 示例 func add(x int, y int) int {return x y }// 简化参数类型&#xff08;相同类型&#xff09; func multiply(x, y int) int {return x * y }1.2 多返回值 // 返回多个值 func…

作者头像 李华
网站建设 2026/3/10 0:45:00

Chet.QuartzNet.UI 基于VbenAdmin框架的现代化UI体验

&#x1f525; Chet.QuartzNet.UI 基于VbenAdmin框架的现代化UI体验 &#x1f3af; 为什么VbenAdmin是个好选择&#xff1f; Chet.QuartzNet.UI 采用了 VbenAdmin 作为前端框架&#xff0c;VbenAdmin 是一款基于 Vue 3 TypeScript Ant Design Vue 开发的现代化管理系统框架&a…

作者头像 李华