docker - docker中的sails.js没有拾取process.env
问题描述
我有一个 Sails 应用程序,我试图在我的 Mac 上的 Docker 中运行。
我有一个 docker-compose.yml 如下:
version: '3.4'
services:
backend:
build:
context: .
dockerfile: ./Dockerfile
environment:
- COMPOSE_VAR="COMPOSE VAR"
env_file:
- ./localdocker.env
ports:
- 9091:9091
volumes:
- .:/usr/src/app
我在 localdocker.env 中设置了环境变量。
在我的sails datastores.js 中,我有以下内容:
module.exports.datastores = {
default: {
adapter: 'sails-mongo',
url: process.env.MONGO_URL
},
};
我跑
docker compose up
错误信息是
backend_1 | error: Failed to lift app: Error: Consistency violation: Unexpected error creating db connection manager:
backend_1 | ```
backend_1 | Error: invalid schema, expected mongodb
但是,如果我在 datastores.js 中硬编码应用程序连接的 url。
我跑了
docker exec -it <container name> env
它列出了所有预期的环境变量,所以看起来环境变量正在设置,但 process.env.MONGO_URL 没有捡起它。
在一个简单的 Node 应用程序中,我使用 process.env.MONGO_URL 使用相同的设置对此进行了测试,它可以毫无问题地连接到数据库,所以我必须在sails.js 中遗漏一些东西
尽管此应用已使用相同的设置和设置环境变量成功部署到 Google Cloud Run。所以我想知道它是否也与我的本地设置有关。
解决方案
推荐阅读
- javafx - 如何使用 Java 11 启动 Scenebuilder
- web - 尝试在 Informatica Powercenter 转换中导入 WSDL url 时出错
- xslt-2.0 - 如何在使用 xslt 2.0 保留内容的同时包装列表
- javascript - 如何使用 VueJS 在带有按钮的图片周围显示边框?
- django - Django CreateForm - 成功时重定向到相同的表单
- r - 按组基数 R 计算随时间变化的百分比
- css - Angular 数据 URL 处理
- javascript - 在 JavaScript Google Flatbuffers 中,如何写一个 ulong?
- sql-server - 为什么这个算术计算比 cast nvarchar 快?
- python - Python Pandas Matplot折线图值错误