Как запустить микросервис gRPC с nestjs в контейнере docker

#docker #docker-compose #grpc #nestjs

#docker #docker-compose #grpc #nestjs

Вопрос:

Я настраиваю микросервис Nest JS с gRPC в контейнере docker. Я установил пакет grpc из npm, но при запуске контейнера я получаю сообщение об ошибке, что «пакет grpc отсутствует» как мне сделать пакет доступным в контейнере

Я попытался установить пакет grpc с помощью команды RUN в dockerfile, но я продолжаю получать ту же ошибку.

 FROM node:10.15.3

WORKDIR /usr/src/app/auth

COPY package*.json ./
RUN npm install
RUN npm install --save grpc

COPY . .

EXPOSE 3001
  

он нормально работает вне контейнера, но по какой-то причине не работает, когда я запускаю его в контейнере

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

1. Как вы запускаете контейнер?

2. @DavidMaze я использую docker-compose. это блок для этой конкретной службы auth_service: container_name: auth-service restart: always command: npm run start:dev build: ./auth volumes: - ./auth:/usr/src/app/auth ports: - "3001:3001"

3. вы когда-нибудь решали эту проблему?

Ответ №1:

Что сработало для меня, так это добавление

 RUN npm rebuild grpc --force
  

после установки npm