Переменная среды узла для приложения в docker и службы очередей, работающей на pm2

#node.js #docker #queue #pm2 #production-environment

#node.js #docker #очередь #pm2 #производственная среда

Вопрос:

У меня есть приложение nodejs, запущенное в контейнере docker. Я установил среду узла в package.json

 "scripts": {
    "start": "node server",
    "server": "nodemon server",
    "client": "npm start --prefix client",
    "dev": "concurrently "npm run server" "npm run client"",
    "build-client": "npm install --prefix client amp;amp; npm run build --prefix client",
    "prod": "cross-env NODE_ENV=production npm run server"
  }
  

Приложение работает нормально.
Но когда я запускаю службу отдельно, используя PM2, даже если среда узла настроена на производство, она не использует производственную конфигурацию.

Ниже приведен импорт конфигурации в сервис

 const Queue = require("../queue/queue");
const connectDB = require("../../config/db");
const constants = require("../constants");

connectDB();
  

Комментарии:

1. на каком образе docker он запущен? является ли ОС одинаковой?

2. У меня есть 4 образа docker 1. узел (12-alpine) 2. монго 3. redis 4. ОС приложения — linux Lubuntu

3. Хорошо. Используйте библиотеку «cross-env» для настройки переменных среды

4. Спасибо @kavigun, я постараюсь сообщить вам

5. Привет @kavigun Я использовал библиотеку «cross-env» для настройки переменной среды, но у меня это не работает.