如何在 docker-compose 中定义 build-args?

新手上路,请多包涵

我有以下 docker-compose 文件

version: '3'
services:
    node1:
            build: node1
            image: node1
            container_name: node1

    node2:
            build: node2
            image: node2
            container_name: node2

我可以构建两个图像并使用单个命令启动它们

docker-compose up -d --build

但我想在构建上使用 build-args。 compose 范围之外的图像的原始构建脚本看起来像这样

#!/bin/sh
docker build \
--build-arg ADMIN_USERNNAME_1=weblogic \
--build-arg ADMIN_PASSWORD_1=weblogic1 \
--build-arg ADMIN_NAME_1=admin \
--build-arg ...
--build-arg ... \
-t test/foo .

两个图像都将使用同名但值不同的 build-args。此外,由于有许多构建参数,因此将它们存储在特定于 compose 服务的构建属性文件中会很方便。这可能与 docker-compose 吗?

原文由 Tuomas Toivonen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
1 个回答

您可以直接在 docker-compose 文件中指定参数:

 node1:
    build:
        context: node1
        args:
            ADMIN_USERNNAME: weblogic1
            ADMIN_PASSWORD: weblogic1
            ADMIN_NAME: admin1
    image: node1
    container_name: node1

查看完整示例: MWE

官方文档 有所有细节。

原文由 Raphael 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题