如何将数组传递到 dockerfile 并循环遍历它?

Sou*_*awe 13 docker dockerfile docker-compose

我正在从 shell 脚本调用 docker build 命令,并且我想在构建参数中传递一个数组。第一个问题我真的可以这样做吗?如果是,那么我如何在 docker 文件内进行迭代。一个小例子确实会有帮助。

Adi*_*iii 11

您可以将空格分隔的字符串传递给构建,然后将字符串转换为数组或仅循环该字符串。

Dockerfile

FROM alpine
ARG items
RUN for item in $items; do \
    echo "$item"; \
    done;
Run Code Online (Sandbox Code Playgroud)

在构建期间传递值

docker build --build-arg items="item1 item2 item3 item4" -t my_image .
Run Code Online (Sandbox Code Playgroud)

输出

Step 3/3 : RUN for item in $items; do     echo "$item";     done;
 ---> Running in bee1fd1dd3c6
item1
item2
item3
Run Code Online (Sandbox Code Playgroud)