私はdockerfileを持っています
FROM centos:7
ENV foo=42
それから私はそれを構築します
docker build -t my_docker .
そして実行します。
docker run -it -d my_docker
コマンドラインから引数を渡してDockerfileのif elseで使用することは可能ですか?
FROM centos:7
if (my_arg==42)
{ENV=TRUE}
else:
{ENV=FALSE}
この議論に基づいて構築します。
docker build -t my_docker . --my_arg=42
ベストアンサー1
見た目はそれほどきれいではないかもしれませんが、Dockerfile (条件付き) は次のようになります。
FROM centos:7
ARG arg
RUN if [[ -z "$arg" ]] ; then echo Argument not provided ; else echo Argument is $arg ; fi
そして次のようにイメージをビルドします。
docker build -t my_docker . --build-arg arg=45
または
docker build -t my_docker .