Docker: `VOLUME` 指令中的环境变量?

Docker: environment variable in `VOLUME` instruction?

假设我有这个变量:ENV MY_DATA="/my/dir/data"

然后用作:VOLUME [$MY_DATA]

构建镜像并连接到容器后,我看到的是:

如果我将其添加为VOLUME ["/my/dir/data"],则不会出现此类工件目录。我是否需要通过 VOLUME 使用一些特殊语法,以便正确呈现我的 ENV

这里有一个快速的 Dockerfile 用于说明:

FROM busybox
# ARG MY_DATA="/my/dir/data" <- Works too.
ENV MY_DATA="/my/dir/data"
VOLUME $MY_DATA
ENTRYPOINT ls -d /my/dir/data

构建图像并运行它:

docker build -t <tag> .
docker run -t --rm <tag>
/my/dir/data        # list the volume created as expected
- or -
docker run -it --entrypoint "" --rm <tag> sh
ls -d /my/dir/data  # list the volume created as expected