如何在家庭网络中访问Traefik后面的Docker容器

xriantvc  于 2023-02-15  发布在  Docker
关注(0)|答案(1)|浏览(118)

我用ubuntu在我的家庭实验室里运行一个docker主机,这个主机可以通过docker.mydomain.com访问,它由我的pfsense防火墙管理。
我使用以下的docker-compose文件:

version: "3.7"

services:
  traefik:
    image: "traefik:v2.9"
    container_name: "traefik"
    hostname: "traefik"
    ports:
      - "80:80"
      - "8008:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "./traefik.yml:/traefik.yml:ro"
  
  apache:
    image: httpd:latest
    container_name: apache
    hostname: apache
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.apache.entrypoints=web"
      - "traefik.http.routers.apache.rule=Host(`apache.docker.mydomain.com`)"

此外,我使用以下traefik.yml文件

log:
  level: INFO

api:
  insecure: true
  dashboard: true

entryPoints:
  web:
    address: ":80"

providers:
  docker:
    endpoint: "unix:///var/run/docker.sock"
    exposedByDefault: false

我可以访问traefik的网页用户界面,但不能使用apache.docker.mydomain.com访问apache的默认站点。我不确定是pfsense还是traefik的问题。我错过了什么?
更新:我在traefik用户界面中看到了apache服务:

flvlnr44

flvlnr441#

这似乎是pfsense防火墙上的DNS转发问题。我在address=/. www.example.com中添加了通配符规则docker.mydomain.com/192.168.1.10,现在可以通过www.example.com访问Apacheapache.docker.mydomain.com

相关问题