在 Dockerfile 中连接多个 ENV 的正确语法?

Correct syntax for concatenating multiple ENV in Dockerfile?

我有 3 个 ENV 变量,它们以某种方式相互依赖。

我发现下面的两种语法都不起作用,而且我也找不到正确的语法,有人可以帮我吗?

ENV_1=/path/
ENV_2="$ENV_1"/dir2
ENV_3="$ENV_2"/dir3


ENV_1=/path/
ENV_2=$ENV_1/dir2
ENV_3=$ENV_2/dir3

环境变量在 Dockerfiles 中使用 ENV 语句声明。 您可以尝试以下方法

Docker 文件:

FROM alpine

ENV parent=parent_dir
ENV child=child_dir

WORKDIR /tmp

#create nested dir structure in /tmp
RUN mkdir -p $parent\/$child

构建镜像并启动容器后,容器内部将具有以下结构:

/ # tree /tmp/
/tmp/
└── parent_dir
    └── child_dir