【发布时间】:2017-09-25 03:21:21
【问题描述】:
Docker 版本(Mac 的最新版本)
Version 17.03.1-ce-mac5 (16048)
我正在尝试将路径外部化,以便每个开发人员都可以更改单个文件以将组件映射到其本地环境中的正确路径。例如,nginx 为静态网站提供服务。
#localhost.env
INDEX_PATH=/Users/felipe/website/public
这是我的 compose.yml
nginx:
image: nginx
ports:
- "8081:8081"
volumes:
- ${INDEX_PATH}:/etc/nginx/html:ro
env_file:
- ./localhost.env
简而言之,我将 INDEX_PATH 变量定义为指向我的本地路径,并且我希望 nginx 从那里为网站提供服务。然后另一个开发者应该设置
#localhost.env
INDEX_PATH=/Users/somebodyElse/whatever/public
问题
由于某种原因,我不理解局部变量以某种方式无法正确解析,至少在使用它时 作为卷的路径。
测试
docker-compose 配置
nginx:
environment:
INDEX_PATH: /Users/felipe/website/public
image: nginx
ports:
- 8081:8081
volumes:
- .:/etc/nginx/html:ro //HERE I WAS EXPECTING THE PATH
如您所见,它只是被解析为 .(一个点而不是路径 /Users/felipe/website/public)
知道我做错了什么吗?我相信这个功能是受支持的,但不知道怎么做。
谢谢!
【问题讨论】:
标签: nginx docker docker-compose dockerfile