Связь по HTTP между двумя док-контейнерами (от Vue.js до Node.js) - PullRequest
0 голосов
/ 31 мая 2018

У меня есть три контейнера:

  • front (vuejs)
  • сервер (nodejs)
  • mongo (mongodb)

Связь между сервером <-> Монго в порядке, но связь между фронтом -> сервером - KO (не доступен прямой HTTP-вызов серверу).

Вот мой docker-compose:

version: "3.3"

services:
  server:
    build:
      context: ../server
    command: nodemon ../server/bin/www
    volumes:
      - ../server:/server
    ports:
      - "3000:3000"
    networks:
      - frontend
      - backend
    depends_on:
      - mongo
  front:
    build:
      context: ../front
    command: npm run dev
    volumes:
      - ../front:/app
    ports:
      - "8081:8081"
    networks:
      - frontend
    depends_on:
      - server
  mongo:
    image: mongo:3.6.5
    ports:
      - "27017:27017"
    networks:
      - backend
    environment:
      MONGO_INITDB_DATABASE: mongo-dev
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: password
    command: mongod

networks:
  frontend:
  backend:

Работает docker-compose, все в порядке: Mongo создан + сервер работает + front работает.

Я могу получить к ним доступ из своего браузера (http://localhost:3000 для сервера + http://localhost:8081 для фронта), но для моего фронта невозможно получить простой http GET на мой сервер с

http://server:3000/myGetRoute

Примечание: этот маршрут доступен из моего браузера с

http://localhost:3000/myGetRoute

и ping сервером с моего переднего контейнера в порядке.

Связь с фронта -> сервер невозможен.Есть идеи?

РЕДАКТИРОВАТЬ: мой фронт-сервис работает на: http://0.0.0.0:8081)

1 Ответ

0 голосов
/ 31 мая 2018

Возможно, вы захотите попробовать ссылки вместо disabled_on .Также см. Разница между ссылками и зависимости_ в docker_compose.yml для дальнейшей разработки.

...