让我们从示例开始。 我有一个简单的Dockerfile:
ARG arg1
ARG arg2
RUN echo "$arg1 $arg2"
我在调用命令时的期望
docker build --build-arg arg1=abc --build-arg arg2=${arg1} .
我得到的是 abc abc ,但是我得到了 abc 。 那么我想要的结果是什么?我怎样才能实现它?
答案 0 :(得分:1)
在Dockerfile
FROM alpine
ARG arg1
ARG arg2
RUN
echo "$arg1 ${arg2:-$arg1}"
您现在可以这样称呼它:
docker build --build-arg arg1=abc --build-arg arg2= .
输出:
...truncated...
Step 4/4 : RUN echo "$arg1 ${arg2:-$arg1}"
---> Running in e65458b9ba6e
abc abc
或者像这样:
docker build --build-arg arg1=abc --build-arg arg2=override .
输出:
...truncated...
Step 4/4 : RUN echo "$arg1 ${arg2:-$arg1}"
---> Running in e65458b9ba6e
abc override
(老回答)
根据您提供的小信息。我会说:
arg1=abc; docker build --build-arg arg1=$arg1 --build-arg arg2=$arg1
应该给你你想要的东西。