Бэкэнд NestJs Ошибка инициализации AppGateway при запуске docker-compose up -d

У меня есть отдельное приложение для Backend (NestJs) и Frontend (AngularJs).

При локальном запуске бэкэнда (запуск гнезда) достигается успех, как показано ниже:

      [Nest] 51995   - 21/09/2021, 11:17:00 pm   [NestFactory] Starting Nest application...
[Nest] 51995   - 21/09/2021, 11:17:00 pm   [InstanceLoader] PassportModule dependencies initialized +104ms
[Nest] 51995   - 21/09/2021, 11:17:00 pm   [InstanceLoader] HttpModule dependencies initialized +2ms
[Nest] 51995   - 21/09/2021, 11:17:00 pm   [InstanceLoader] JwtModule dependencies initialized +1ms
[Nest] 51995   - 21/09/2021, 11:17:00 pm   [InstanceLoader] HttpModule dependencies initialized +1ms
[Nest] 51995   - 21/09/2021, 11:17:00 pm   [InstanceLoader] ServeStaticModule dependencies initialized +1ms
[Nest] 51995   - 21/09/2021, 11:17:04 pm   [InstanceLoader] DatabaseModule dependencies initialized +4300ms
[Nest] 51995   - 21/09/2021, 11:17:04 pm   [InstanceLoader] AppModule dependencies initialized +7ms
[Nest] 51995   - 21/09/2021, 11:17:04 pm   [InstanceLoader] KudoModule dependencies initialized +1ms
[Nest] 51995   - 21/09/2021, 11:17:04 pm   [InstanceLoader] BlogModule dependencies initialized +2ms
[Nest] 51995   - 21/09/2021, 11:17:04 pm   [InstanceLoader] AuthModule dependencies initialized +1ms
[Nest] 51995   - 21/09/2021, 11:17:05 pm   [AppGateway] initialized
[Nest] 51995   - 21/0ee_NDN}\qb#g4Zv"9/2021, 11:17:05 pm   [RoutesResolver] PostController {/api/posts}: +4ms
[Nest] 51995   - 21/09/2021, 11:17:05 pm   [RouterExplorer] Mapped {/api/posts, GET} route +4ms
[Nest] 51995   - 21/09/2021, 11:17:05 pm   [RouterExplorer] Mapped {/api/posts, POST} route +2ms

Но при использовании docker-compose up -d появляется ошибка ниже:

      backend_1  | [Nest] 32   - 09/22/2021, 5:14:05 AM   [NestFactory] Starting Nest application...
backend_1  | [Nest] 32   - 09/22/2021, 5:14:06 AM   [InstanceLoader] PassportModule dependencies initialized +1172ms
backend_1  | [Nest] 32   - 09/22/2021, 5:14:06 AM   [InstanceLoader] HttpModule dependencies initialized +1ms
backend_1  | [Nest] 32   - 09/22/2021, 5:14:06 AM   [InstanceLoader] JwtModule dependencies initialized +1ms
backend_1  | [Nest] 32   - 09/22/2021, 5:14:06 AM   [InstanceLoader] HttpModule dependencies initialized +0ms
backend_1  | [Nest] 32   - 09/22/2021, 5:14:06 AM   [InstanceLoader] ServeStaticModule dependencies initialized +2ms
backend_1  | [Nest] 32   - 09/22/2021, 5:14:07 AM   [InstanceLoader] DatabaseModule dependencies initialized +1005ms
backend_1  | [Nest] 32   - 09/22/2021, 5:14:07 AM   [InstanceLoader] AppModule dependencies initialized +8ms
backend_1  | [Nest] 32   - 09/22/2021, 5:14:07 AM   [InstanceLoader] KudoModule dependencies initialized +1ms
backend_1  | [Nest] 32   - 09/22/2021, 5:14:07 AM   [InstanceLoader] BlogModule dependencies initialized +1ms
backend_1  | [Nest] 32   - 09/22/2021, 5:14:07 AM   [InstanceLoader] AuthModule dependencies initialized +1ms
backend_1  | (node:32) UnhandledPromiseRejectionWarning: TypeError: shared_utils_1.addLeadingSlash is not a function
backend_1  |     at SocketServerProvider.validateNamespace (/app/node_modules/@nestjs/websockets/socket-server-provider.js:46:31)
backend_1  |     at SocketServerProvider.getServerOfNamespace (/app/node_modules/@nestjs/websockets/socket-server-provider.js:40:97)
backend_1  |     at SocketServerProvider.createWithNamespace (/app/node_modules/@nestjs/websockets/socket-server-provider.js:33:38)
backend_1  |     at SocketServerProvider.createSocketServer (/app/node_modules/@nestjs/websockets/socket-server-provider.js:26:21)
backend_1  |     at SocketServerProvider.scanForSocketServer (/app/node_modules/@nestjs/websockets/socket-server-provider.js:17:20)
backend_1  |     at WebSocketsController.subscribeToServerEvents (/app/node_modules/@nestjs/websockets/web-sockets-controller.js:34:60)
backend_1  |     at WebSocketsController.connectGatewayToServer (/app/node_modules/@nestjs/websockets/web-sockets-controller.js:25:14)
backend_1  |     at SocketModule.connectGatewayToServer (/app/node_modules/@nestjs/websockets/socket-module.js:46:35)
backend_1  |     at /app/node_modules/@nestjs/websockets/socket-module.js:35:38
backend_1  |     at IteratorWithOperators.forEach (/app/node_modules/@nestjs/websockets/node_modules/iterare/lib/iterate.js:157:13)
backend_1  | (Use `node --trace-warnings ...` to show where the warning was created)
backend_1  | (node:32) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
backend_1  | (node:32) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

введите описание изображения здесь

Используемые версии NestJs:

          "@nestjs/common": "^7.0.0",
    "@nestjs/core": "^7.0.0",
    "@nestjs/jwt": "^7.0.0",
    "@nestjs/passport": "^7.0.0",
    "@nestjs/platform-express": "^7.0.0",
    "@nestjs/platform-socket.io": "^7.3.2",
    "@nestjs/serve-static": "^2.1.3",
    "@nestjs/typeorm": "^7.1.0",
    "@nestjs/websockets": "^7.3.2",
    "@types/socket.io": "^2.1.8",

1 ответ

Я столкнулся с той же проблемой. На самом деле все началось после добавления некоторого пространства имен в один из моих шлюзов событий. Судя по сообщению об ошибке, ему не удалось найти какую-либо экспортированную служебную функцию из файла shared_utils_1 . После непродолжительного расследования выяснилось, что это экспортируется как часть пакета «nestjs/common» . Поэтому я заглянул в package.json, который копируется как часть процесса сборки в контейнер докеров, и заметил, что версия для этого конкретного пакета отличается (7.0.9) от той, которую я использовал при локальной сборке приложения (8.0). .0).

Я обновил версию (8.0.0), перестроил приложение, и с тех пор все работает.

Другие вопросы по тегам