我有 dockerfile
FROM centos:7
ENV foo=42
然后我建立它
docker build -t my_docker .
并运行它。
docker run -it -d my_docker
是否可以从命令行传递参数并将其与 Dockerfile 中的 if else 一起使用?我的意思是
FROM centos:7
if (my_arg==42)
{ENV=TRUE}
else:
{ENV=FALSE}
并用这个论点构建。
docker build -t my_docker . --my_arg=42
原文由 nick_gabpe 发布,翻译遵循 CC BY-SA 4.0 许可协议
它可能看起来不那么干净,但你可以让你的 Dockerfile(有条件的)如下:
然后将图像构建为:
docker build -t my_docker . --build-arg arg=45
或者
docker build -t my_docker .