如果我有Dockerfile
:
FROM ubuntu:18.04
ENV NAME=Dockerfile-wins
CMD echo $NAME
和docker-compose.yml
:
version: '3'
services:
myservice:
build: .
container_name: myservice
environment:
- NAME=docker-compose-wins
当我运行docker-compose up myservice
哪一个胜出而为什么?
答案 0 :(得分:3)
docker-compose胜出,因为它覆盖了Dockerfile中的什么。 Dockerfile中指定的内容是默认值。并且可以使用docker-compose所做的docker命令来覆盖。
文档here
中记录了这一点在封面下,docker-compose正在运行类似
的东西docker run -e VARIABLE=VALUE