在Docker Build时怎么给容器内部即传参给容器内部,不是docker,比如我Docker有个环境变量,这个没有设置,在编译的时候根据传参不同,执行不同的操作来生成我指定的镜像,不要每个不同版本都写一遍配置。
在Docker Build时怎么给容器内部即传参给容器内部,不是docker,比如我Docker有个环境变量,这个没有设置,在编译的时候根据传参不同,执行不同的操作来生成我指定的镜像,不要每个不同版本都写一遍配置。
Docker 镜像是作为一个通用的镜像存在的,所有的环境变量等的设置都应该通过 run 的时候指定参数来实现。你想使用不同的配置可以用 docker compose ,而不是为不同的配置生成不同的镜像
推荐用 frep ( https://github.com/subchen/frep ) 调用模版文件来生成不同的 Dockerfile,然后分别进行 build
比如:Dockerfile.tmpl
FROM {{ .BASEIMAGE }}
CMD [/bin/bash]
然后用
frep Dockerfile.tmpl:Dockerfile.centos -e BASEIMAGE=centos
docker build -f Dockerfile.centos
frep Dockerfile.tmpl:Dockerfile.ubuntu -e BASEIMAGE=ubuntu
docker build -f Dockerfile.ubuntu
2 回答2.4k 阅读✓ 已解决
2 回答826 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
2 回答1.2k 阅读
1 回答1.6k 阅读
1 回答993 阅读
Dockerfile內寫
ARG
, 然後docker build --build-arg