鉴于这个.env
文件:
TEST=33333
考虑到这个 docker-compose.yml
文件:
service_name:
image: test
env_file: .env
environment:
TEST: 22222
考虑到这个Dockerfile
文件:
FROM an_image AS builder
FROM another_image
ENV TEST 11111
CMD ["/bin/echo $TEST"]
每当我在容器中构建并运行此镜像时,它会打印11111
。
如果我从Dockerfile中删除ENV 11111
行,则我的TEST
环境变量为空...
父镜像接收到环境变量,但子镜像没有接收到吗?
谢谢!
编辑:
- 尝试使用
ENV TEST ${TEST}
无效($TEST为空) - 删除
ENV TEST
无效($TEST为空)
CMD
中评估变量吗?CMD
是运行时而不是构建时。 - BMitch