Dockerfile で変数を定義するにはどうすればいいですか? 質問する

Dockerfile で変数を定義するにはどうすればいいですか? 質問する

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> .

おすすめ記事