Node.js 当环境变量在容器级别上可用时,应用程序无法访问它们

Node.js 当环境变量在容器级别上可用时,应用程序无法访问它们,node.js,docker,docker-compose,environment-variables,Node.js,Docker,Docker Compose,Environment Variables,使用docker compose构建和部署的node.js应用程序看不到任何自定义设置变量console.log(process.env.VAR)log未定义到任何控制台中 变量是使用yaml文件中的env_file属性设置的。仅使用环境文件属性。Dockerfile中设置了一个ENV值,应用程序可以访问该值 docker exec-it env返回所有自定义值docker exec-it sh仅返回在基本映像节点alpine(被exec清除?)中设置的值 设置有什么问题?我发现问题不在于撰写文

使用
docker compose
构建和部署的node.js应用程序看不到任何自定义设置变量
console.log(process.env.VAR)
log未定义到任何控制台中

变量是使用yaml文件中的env_file属性设置的。仅使用环境文件属性。Dockerfile中设置了一个ENV值,应用程序可以访问该值

docker exec-it env
返回所有自定义值
docker exec-it sh
仅返回在基本映像节点alpine(被exec清除?)中设置的值


设置有什么问题?

我发现问题不在于撰写文件或错误使用环境文件字段。
问题在于env文件本身。它在设置值时使用空格。这样:
VAR=VAL
而不是
VAR=VAL


虽然dotenv npm包允许这样做(我使用了一个项目附带的示例作为部署的基础),但docker和environment不允许这样做。

如果您包含您正在运行以调试东西的确切命令以及它们的输出(编辑机密),这可能会有所帮助。此外,如果您将描述问题服务的
docker compose.yml
文件的一部分包括在内,这将非常方便。谢谢@ctt的建议。我发现了这个问题,将把它作为一个答案。