Микросервисы Nestjs с докером не работают

Когда я запускаю nestjs с компоновкой докеров, перенаправления микросервисов не работают, но в команде «nest start» приложение воспроизводится так, как я хочу.

ответ API шлюза

connect ECONNREFUSED 127.0.0.1:3000
gateway    |     at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) {
gateway    |   errno: -111,
gateway    |   code: 'ECONNREFUSED',
gateway    |   syscall: 'connect',
gateway    |   address: '127.0.0.1',
gateway    |   port: 3000
gateway    | }

Код докер-compose.yml

services:
  auth:
    container_name: auth
    restart: always
    build:
      context: ./auth
      dockerfile: dockerfile
    ports:
      - 3000:3000
    networks:
      - docker_dev_cloud
  gateway:
    container_name: gateway
    restart: always
    build:
      context: ./gateway
      dockerfile: dockerfile
    ports:
      - 4000:4000
    networks:
      - docker_dev_cloud
networks:
  docker_dev_cloud:
    driver: bridge

докерфайл шлюза Код

FROM node:18

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .


EXPOSE 4000

CMD [ "npm", "run", "start:dev" ]

авторизация докерфайла Код

FROM node:18

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .


EXPOSE 3000

CMD [ "npm", "run", "start:dev" ]

Помоги мне, пожалуйста.

Вы не показываете фактическую конфигурацию шлюза, но похоже, что вы настроили его как прокси для самого себя, 127.0.0.1. Вам нужно настроить его для использования вместо этого имени службы Compose auth внутренней службы?

David Maze 07.02.2023 13:31

Попробуйте использовать 0.0.0.0 вместо localhost.

Huthaifa Muayyad 07.02.2023 22:18
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
2
64
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

переместите localhost на имя службы, например: 127.0.0.1:3000 до авторизация: 3000

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