dockerfileのARGの使い方おぼえがき

ARGとは

build実行時にオプション --build-arg として渡せる可変の値

使いみち

環境毎になにかを変える時に使用する

  • ビルド時に使用する環境変数
  • entrypoint.sh
  • COPY元

など

Dockerfileでの定義方法

ARG hoge="fuga"

解説

上記は、変数 hoge を時環境変数 HOGE に定義している

  • ARG 変数名 で変数を定義する。ここで定義しない変数は使用できない
  • ARG 変数名=デフォルト値 でデフォルト値も定義可能

変数展開方法

ENV HOGE=$hoge

$変数名 で変数展開される

build実行時に ARG に値を渡す方法

$ docker build . --build-arg hoge=fuga

docker-compose.yml に build-arg を定義する方法

buildargs に定義する

  app:
    build:
      args:
        hoge: fuga

そんなかんじ