Разверните приложение Nodejs на движке Google Kubernetes, используя Docker и PM2 - PullRequest
0 голосов
/ 26 октября 2019

У меня есть приложение Nodejs и я использую Babel для включения функций ES6. Я могу запустить его на локальной системе в режиме разработки. Я хочу развернуть его в Kubernetes с использованием PM2.

Выдает ошибку при попытке запустить его с PM2 с использованием process.json.

/bin/bash:1
15:59:52 23|app   | (function (exports, require, module, __filename, __dirname) { ����
15:59:52 23|app   |                                                               ^
15:59:52 23|app   | SyntaxError: Invalid or unexpected token
15:59:52 23|app   |     at new Script (vm.js:85:7)
15:59:52 23|app   |     at createScript (vm.js:266:10)
15:59:52 23|app   |     at Object.runInThisContext (vm.js:314:10)
15:59:52 23|app   |     at Module._compile (internal/modules/cjs/loader.js:698:28)
15:59:52 23|app   |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:749:10)
15:59:52 23|app   |     at Module.load (internal/modules/cjs/loader.js:630:32)
15:59:52 23|app   |     at tryModuleLoad (internal/modules/cjs/loader.js:570:12)
15:59:52 23|app   |     at Function.Module._load (internal/modules/cjs/loader.js:562:3)

Это мой process.json

{
    "apps": [
        {
            "name": "app",
            "script": "./dist/bin/www.js --env production",
            "exec_mode": "cluster",
            "instances": 0,
            "max_restarts": 20,
      "env": {
          "NODE_ENV": "production"
      },
      "env_production": {
          "NODE_ENV": "production"
      }
        }
    ]
}

Когда я запускаю эту команду pm2 ./dist/bin/www.js --env production, она работает нормально, но когда я пытаюсь запустить ее, используя process.json, например pm2 start process.json --no-daemon, она выдает вышеуказанную ошибку.

Я пытаюсьэто происходит в локальной системе, но это также происходит при развертывании в gcloud с использованием файла Docker с kubectl

Может кто-нибудь указать мне правильное направление, куда я должен попытаться посмотреть.

1 Ответ

1 голос
/ 26 октября 2019

попробуйте этот процесс. Json:

{
    "apps": [
        {
            "name": "app",
            "script": "./dist/bin/www.js",
            "exec_mode": "cluster",
            "instances": 0,
            "max_restarts": 20,
      "env": {
          "NODE_ENV": "development"
      },
      "env_production": {
          "NODE_ENV": "production"
      }
        }
    ]
}

CLI:

pm2 start process.json --no-daemon --env production
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...