Обратный прокси-сервер Traefik с докером - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть docker compose с nginx, работающим со следующей конфигурацией:

version: "3"

services:
  web:
    image: nginx:alpine
    volumes:
     - ./nginx:/etc/nginx/conf.d/rainloop
    ports:
     - "8081:80"

    labels:
     - "traefik.frontend.rule=Host:www.example.com"
     - "traefik.port=8081"

и traefik в docker-compose со следующим конфигом:

version: '3'

services:
  reverse-proxy:
    image: traefik:alpine 
    command: --api --docker 

    ports:
      - "80:80"     # The HTTP port
      - "8080:8080" # The Web UI (enabled by --api)
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events
      - ./traefik.toml:/etc/traefik/traefik.toml

traefik.toml является базовым и выглядит так

defaultEntryPoints = ["http"]

[entryPoints]
  [entryPoints.http]
  address = ":80"

Веб-интерфейс показывает следующее

enter image description here

При звонке на мой домен www.example.com я получаю тайм-аут.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Добавьте следующее в ваш traefik.toml

[docker]
endpoint = "unix:///var/run/docker.sock"
watch = true

Создать сеть с docker network create traefik-net

Развертывание traefik с помощью

version: '3'
services:
  traefik:
    image: traefik:latest
    command: --api
    ports:
      - 80:80
      - 8080:8080 # Port for the web UI
    networks:
      - traefik-net

Развернуть nginx с

version: '3'
services:
  frontend:
    image: nginx
    networks:
    - traefik-net
    labels:
    - "traefik.docker.network=traefik-net"
    - "traefik.frontend.rule=Host:${DOMAIN}"
    - "traefik.backend=nginx"
    - "traefik.port=80" # you should use exposed port, not published
0 голосов
/ 14 ноября 2018

Вам нужно поместить оба контейнера в одну сеть.

  1. Создайте сеть докеров внутри вашего хост-компьютера. docker network create {network name}.

  2. В вашем docker-compose используйте существующую сеть, которую вы создали, чтобы соединить оба контейнера. Вы можете прочитать https://docs.docker.com/compose/networking/#use-a-pre-existing-network о том, как его использовать.

  3. Добавьте каждую услугу в вышеуказанную сеть.

...