簡體   English   中英

如何為子域上的 docker 服務正確配置 traefik?

[英]How do I configure traefik properly for docker services on subdomains?

traefik 快速入門指南中關於在 whoami 子域上使用 whoami 圖像的示例有效,但我無法讓 jellyfin 在類似的設置中工作,我無法弄清楚有什么不同:

kevin@pihost:~/personal$ curl -H Host:jellyfin.kevinm416.com http://127.0.0.1
Bad Gateway
kevin@pihost:~/personal$ curl -H Host:whoami.kevinm416.com http://127.0.0.1
Hostname: f7820e1787fe
IP: 127.0.0.1
...

這是我的 docker-compose 文件,其中包含所有 traefik 配置:

version: "3"

volumes:
  jellyfin-config:
  jellyfin-cache:

services:
  reverse-proxy:
    image: traefik:v2.2
    # Enables the web UI and tells Traefik to listen to docker
    command: 
      - "--api.insecure=true"
      - "--providers.docker"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
    ports:
      - "80:80"
      - "443:443"
      # The Web UI (enabled by --api.insecure=true)
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

  whoami:
    image: containous/whoami
    labels:
      - "traefik.http.routers.whoami.rule=Host(`whoami.kevinm416.com`)"

  jellyfin:
    image: jellyfin/jellyfin
    network_mode: "host"
    environment:
      TZ: 'America/Los_Angeles'
    ports:
      - "8096:8096"
    volumes:
      - jellyfin-config:/config
      - jellyfin-cache:/cache
      - /home/kevin/microcenter:/microcenter:ro
    labels:
      - "traefik.http.routers.jellyfin.rule=Host(`jellyfin.kevinm416.com`)"
      - "traefik.http.services.jellyfin.loadbalancer.server.port=8096"
    restart: always

我想可能有兩個問題:

  1. 你還沒有為你的容器指定入口點,例如它可能是whoami (也許你想要一個端口為 8096 的 jellyfin 的新入口點?):
- "traefik.http.routers.whoami.entrypoints=web"
  1. network_mode: "host" ——traefik 應該與容器在同一個網絡中(或嘗試使用traefik.docker.network設置),所以我建議刪除該行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM