docker-compose で build-args を定義するにはどうすればいいですか? 質問する

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

両方のイメージをビルドして1つのコマンドで起動できます

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 .

どちらのイメージも、同じ名前で異なる値のビルド引数を使用します。また、ビルド引数は数十個あるため、それらを Compose サービス固有のビルド プロパティ ファイルに保存すると便利です。これは docker-compose で可能ですか?

ベストアンサー1

docker-compose ファイルで引数を直接指定できます。

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

完全な例を見る:ムウェ

公式ドキュメント(レガシーv3ここ) に詳細がすべて記載されています。

おすすめ記事