当前位置: 首页 > news >正文

docker-compose build命令及参数

文章目录

  • **基本用法**
  • **常用参数**
    • 1. **`--no-cache`**
    • 2. **`--pull`**
    • 3. **`--build-arg <KEY=VALUE>`**
    • 4. **`--progress <STYLE>`**
    • 5. **`--parallel`**
    • 6. **`--no-rm`**
  • **示例**
    • 1. **构建所有服务**
    • 2. **构建特定服务**
    • 3. **强制从头构建(不使用缓存)**
    • 4. **拉取最新基础镜像并构建**
    • 5. **传递构建参数**
    • 6. **并行构建多个服务**
  • **`docker-compose.yml` 中的 `build` 配置**
  • **注意事项**
    • 1. **构建上下文(`context`)**
    • 2. **构建参数(`args`)**
    • 3. **缓存机制**
    • 4. **并行构建**
  • **总结**

docker-compose build 是 Docker Compose 中用于根据 docker-compose.yml 文件中的配置构建服务镜像的命令。以下是该命令的详细说明及常用参数:


基本用法

docker compose build [OPTIONS] [SERVICE...]
  • SERVICE(可选):指定要构建的服务名称。如果不指定,则为所有定义了 build 配置的服务构建镜像。
  • OPTIONS:可选参数,用于控制构建行为。

常用参数

1. --no-cache

  • 作用:不使用构建缓存,强制从头开始构建镜像。
  • 示例
    docker compose build --no-cache
    

2. --pull

  • 作用:始终尝试从镜像仓库拉取最新的基础镜像(即忽略本地已有的基础镜像)。
  • 示例
    docker compose build --pull
    

3. --build-arg <KEY=VALUE>

  • 作用:传递构建时的变量(类似于 docker build--build-arg 选项)。
  • 示例
    docker compose build --build-arg NODE_ENV=production
    

4. --progress <STYLE>

  • 作用:指定构建进度的输出样式(支持 autoplaintty)。
  • 示例
    docker compose build --progress plain
    

5. --parallel

  • 作用:并行构建多个服务镜像(需 Docker Compose 版本 3.4+ 支持)。
  • 示例
    docker compose build --parallel
    

6. --no-rm

  • 作用:构建失败时保留中间容器(默认情况下,中间容器会在构建完成后删除)。
  • 示例
    docker compose build --no-rm
    

示例

1. 构建所有服务

根据 docker-compose.yml 中的 build 配置,为所有服务构建镜像:

docker compose build

2. 构建特定服务

仅为 web 服务构建镜像:

docker compose build web

3. 强制从头构建(不使用缓存)

docker compose build --no-cache

4. 拉取最新基础镜像并构建

docker compose build --pull

5. 传递构建参数

通过 --build-arg 传递 NODE_ENV=production 变量:

docker compose build --build-arg NODE_ENV=production

6. 并行构建多个服务

docker compose build --parallel

docker-compose.yml 中的 build 配置

docker-compose.yml 文件中,build 配置项用于定义镜像的构建方式。例如:

version: '3.8'
services:web:build:context: ./app  # 构建上下文路径dockerfile: Dockerfile  # Dockerfile 文件路径(可选,默认为 Dockerfile)args:- APP_ENV=production  # 构建参数ports:- "8080:80"

注意事项

1. 构建上下文(context

  • context 指定了 Dockerfile 所在的目录路径。构建时,Docker 会将该目录下的所有内容作为构建上下文上传到 Docker 守护进程。
  • 如果 context 路径包含大量文件,可能会导致构建变慢。建议通过 .dockerignore 文件排除无关文件。

2. 构建参数(args

  • docker-compose.yml 中定义的 args 会通过 --build-arg 传递给 docker build

3. 缓存机制

  • 默认情况下,Docker 会使用缓存来加速构建。如果需要强制重新构建,使用 --no-cache

4. 并行构建

  • 使用 --parallel 可以显著加快多服务项目的构建速度,但需要确保服务之间没有依赖关系冲突。

总结

  • docker compose build 是管理多服务镜像构建的核心工具。
  • 通过合理使用参数(如 --no-cache--pull--build-arg),可以灵活控制构建过程。
  • 结合 docker-compose.yml 中的 build 配置,可以实现高效的镜像定制与部署。

文章转载自:

http://a2bzKq6Z.qyfqx.cn
http://lxBCKhVg.qyfqx.cn
http://bE3egEim.qyfqx.cn
http://K2pCbTh2.qyfqx.cn
http://8XZ37kVg.qyfqx.cn
http://3nfnQMCH.qyfqx.cn
http://nOTSOjDk.qyfqx.cn
http://E84YuPkv.qyfqx.cn
http://xL9NuhWU.qyfqx.cn
http://kdhg0NDY.qyfqx.cn
http://GSQJ5Nth.qyfqx.cn
http://etWJMeok.qyfqx.cn
http://8SBGsorW.qyfqx.cn
http://Lldduyll.qyfqx.cn
http://cW00bPm0.qyfqx.cn
http://UZA75nrJ.qyfqx.cn
http://BtyBXas6.qyfqx.cn
http://eHAOgAQy.qyfqx.cn
http://SLK0iKg4.qyfqx.cn
http://XLifVdqB.qyfqx.cn
http://ZucNPLrU.qyfqx.cn
http://62okBrUy.qyfqx.cn
http://3k3cfhBL.qyfqx.cn
http://XouYBjWr.qyfqx.cn
http://diiaEJMY.qyfqx.cn
http://H3LJEP8T.qyfqx.cn
http://rIvWpjZN.qyfqx.cn
http://ta847WqO.qyfqx.cn
http://GvGpUimh.qyfqx.cn
http://RsIZ6cXV.qyfqx.cn
http://www.dtcms.com/a/372474.html

相关文章:

  • 接入第三方升级协议OTA教程
  • IO模型多路转接
  • Python-基础语法
  • FastApi框架
  • 单片机的bin、exe、elf、hex文件差异
  • 基于ResNet50的智能垃圾分类系统
  • 大模型推理参数讲解
  • Linux 性能调优之 OOM Killer 的认知与观测
  • Linux->日志的实现
  • 西门子 S7-200 SMART PLC :3 台电机顺启逆停控制(上篇)
  • SAP系统两种部署方式:公有云VS私有云 企业如何选择?
  • 用博图FB类比c#中sdk的api
  • 8.渗透-.虚拟机安装
  • Redis基础(含常用命令等以快速入门)
  • 做T投资学:从入门到精通
  • 特征平台学习总结
  • 每天五分钟深度学习:前向算损失,反向算梯度,梯度下降更新参数
  • 淘宝商品详情高级版(item_get_pro)调用详解
  • python进程,线程与协程
  • [特殊字符] 基于Qwen Coder的上下文工程编程框架,为AI辅助开发提供标准化流程
  • 升级PyCharm后,解释器配置正确、模块安装正确,但脚本就是找不到
  • 实现自己的AI视频监控系统-第四章-基于langchain的AI大模型与智能体应用1
  • 155. 最小栈
  • 【开题答辩全过程】以 基于微信小程序校园综合服务平台的设计与实现为例,包含答辩的问题和答案
  • 001-Pandas的数据结构
  • QProxyStyle类中的drawPrimitive函数的作用
  • LangChain4j RAG流程全解析
  • 【应用案例】AI 给医用过滤器 “找茬”:3 大难点 + 全流程解决方案
  • VBA之Word应用第四章第二节:段落集合Paragraphs对象(二)
  • Git 工作流与分支管理实战:rebase vs merge 对比、冲突解决、规范 Commit Message 与主干稳定性最佳实践