настроить трафик как обратный прокси с docker - PullRequest
1 голос
/ 04 мая 2020

Я пытаюсь настроить traefik для соединения между моими 3 docker контейнерами. Я попытался с этой конфигурацией, но у меня на консоли браузера net :: ERR_NAME_NOT_RESOLVED.

  searchservice:
    hostname: searchservice
    image: searchservice:0.0.3-SNAPSHOT
    container_name: searchservice
    networks:
      - es-network 
          #ipv4_address: 172.21.0.12
    ports:
      - 8070:8080
    restart: always
    depends_on:
      - elasticsearch
      - reverseproxy
    labels:
      - "traefik.frontend.rule=PathPrefix:/searchservice,Host:localhost"
      - "traefik.port: 8070"
      - "traefik.enable=true"

  subscriber-service:
    hostname: subscriber-service
    image: subscriberservice:0.0.4-SNAPSHOT
    container_name: subscriber-service

    networks:
      - es-network 
          #ipv4_address: 172.21.0.13
    ports:
      - 8090:8090
    restart: always
    depends_on:
      - mongo1
      - mongo2
      - reverseproxy
    labels:
      - "traefik.frontend.rule=PathPrefix:/api,Host:localhost"
      - "traefik.port: 8090"
      - "traefik.enable=true"

  searchappfront:
    hostname: searchappfront
    image: frontservice:latest
    container_name: searchappfront
    networks:
      - es-network 
    ports:
      - 80:80
    restart: always
    depends_on:
      - subscriber-service
      - searchservice
      - reverseproxy
    labels:
      - "traefik.frontend.rule=PathPrefix:/"
      - "traefik.enable=true"
      - "traefik.port=80"
     # - "traefik.frontend.rule=Host:localhost"

  reverseproxy:
    image: traefik:v2.1
    command:
      - '--providers.docker=true'
      - '--entryPoints.web.address=:80'
      - '--providers.providersThrottleDuration=2s'
      - '--providers.docker.watch=true'
      - '--providers.docker.defaultRule=Host("local.me")'
      - '--accessLog.bufferingSize=0'
    volumes:
      - '/var/run/docker.sock:/var/run/docker.sock:ro'
    #ports:
    #  - '80:80'
    #  - '8080:8080'

Searchappfront - это приложение angular, в котором конечные точки http имеют этот шаблон

http://subscriber-service:8090/
http://searchservice:8070/

если я использую localhost вместо имен хостов, запросы работают нормально, но мне нужно развернуть эти контейнеры в облачном экземпляре.

1 Ответ

0 голосов
/ 05 мая 2020

Вы используете traefik 2, но ваша аннотация предназначена для traefik 1. Это не сработает.

...