:
Dockerfile
和:
FROM ubuntu:18.04
ENV NAME=Dockerfile-wins
CMD echo $NAME
当我跑步时,哪个会赢,而为什么??
?
docker-compose赢得了胜利,因为它覆盖了Dockerfile中的内容。 Dockerfile中指定的是默认值。并且可以使用Docker命令覆盖,这是Docker-Compose所做的。文档中记录了这一点。 在封面上基本上是Docker-Compose正在运行类似的东西
docker-compose.yml
,如果我再次提起此讨论,但这是我发现涉及此问题的唯一一个。
在docker文档中,如果Docker-Compose文件中有一个环境部分,则看来Dockerfile中定义的ENV参数被忽略。
5。在Env指令中的容器图像中设置。只有在没有Docker撰写的环境,Env_File或运行的docker构成条目时,才能在Dockerfile中进行任何ARG或ENV设置。
我的问题是:如果Docker-Compose文件中有一个环境部分,是否完全忽略了Dockerfile中定义的ENV参数,或者它们是否与Docker-Compose文件中定义的内容“合并/替换”?i想在dockerfile中保留一个时间表容器(Postgres)的某些配置参数,并在Docker-Compose中添加其他配置参数,以修改“在运行时”。提前感谢您 tops:best