我怀疑这个问题的答案是否定的,因为 FROM 命令首先出现在文件中(在任何 ENV 语句之前),但是您可以参数化创建 docker 容器的基本映像的版本吗?
例如
FROM image-name:4.6.${patchVersion}
我看这个的原因是为了支持 CI/CD。我已经将构建容器和部署容器分开了,部署容器的patchVersion由构建生成。我也想这样生成构建容器的补丁号,然后从部署容器中引用这个
我怀疑这个问题的答案是否定的,因为 FROM 命令首先出现在文件中(在任何 ENV 语句之前),但是您可以参数化创建 docker 容器的基本映像的版本吗?
例如
FROM image-name:4.6.${patchVersion}
我看这个的原因是为了支持 CI/CD。我已经将构建容器和部署容器分开了,部署容器的patchVersion由构建生成。我也想这样生成构建容器的补丁号,然后从部署容器中引用这个
TL;DR 不仅适用于 Docker
长:
文档说:
https://docs.docker.com/engine/reference/builder/#environment-replacement
您可以在执行之前使用
envsubst
https://linux.die.net/man/1/envsubst重写您的Dockerfile
docker build