Dockerfile で、後で Dockerfile 内で使用できる変数を定義したいと思います。
指示は承知していますENV
が、これらの変数を環境変数にしたくありません。
Dockerfile スコープで変数を宣言する方法はありますか?
ベストアンサー1
使用できますARG
- 参照https://docs.docker.com/engine/reference/builder/#arg
この命令は、フラグを使用したコマンド
ARG
でビルド時にユーザーがビルダーに渡すことができる変数を定義します。ユーザーが Dockerfile で定義されていないビルド引数を指定すると、ビルドでエラーが出力されます。docker build
--build-arg <varname>=<value>
ビルド時に COPY を使用すると便利です (例: 特定のフォルダーなどのタグ固有のコンテンツをコピーする) 例:
ARG MODEL_TO_COPY
COPY application ./application
COPY $MODEL_TO_COPY ./application/$MODEL_TO_COPY
コンテナの構築中:
docker build --build-arg MODEL_TO_COPY=model_name -t <container>:<model_name specific tag> .