gpt4 book ai didi

nginx - 用作卷路径的 docker-compose 环境变量未得到解析

转载 作者:行者123 更新时间:2023-12-05 04:10:55 24 4
gpt4 key购买 nike

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)

知道我做错了什么吗?我相信此功能受支持,但不知道如何操作。

谢谢!

最佳答案

env_file 定义将环境变量从文件传递到容器中,但它不会在 yml 文件的 docker-compose 解析中被提取。您可以使用的是 .env file它在解析 docker-compose.yml 文件之前加载,您甚至可以使用它来覆盖 docker-compose.yml 文件名本身。

关于nginx - 用作卷路径的 docker-compose 环境变量未得到解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43655936/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com