我有一个Dockerfile,我想使用默认值来配置API。
因此,当我运行此镜像时,我将能够使用以下内容覆盖localhost:6007:
这是行不通的,我找不到如何执行此操作的清晰说明。
有什么建议吗?
最佳答案
您所描述的应该可以正常工作。鉴于:
$ cat Dockerfile
FROM socialengine/nginx-spa
ENV API_URL localhost:6007
$ docker build -t ui .
[...]
考虑一下:
$ docker run -it --rm ui env | grep API_URL
API_URL=localhost:6007
相比:
$ docker run -it --rm -e API_URL='production:6007' ui env | grep API_URL
API_URL=production:6007
在
-e VARNAME=varvalue
命令行上传递docker run
将覆盖Dockerfile中的默认设置。如果您看到不同的行为,请更新您的问题以准确显示您正在运行的命令和相关的输出。
更新
这是完整的示例,为您的观看乐趣而记录:
https://asciinema.org/a/a5a2n3exlyh4jkii4k0ivvqmd