Docker Traefik:通过本地IP地址以及外部(https)访问服务?

Docker Traefik:通过本地IP地址以及外部(https)访问服务?,docker,docker-compose,traefik,Docker,Docker Compose,Traefik,我设法用我的域()设置了一个反向代理,我想,我读到也可以在我的本地网络(或)上访问该服务,而不仅仅是通过https从外部访问 有人知道这是不是真的,如果是的话,我是怎么安排的 这是我的docker-compose.yml代码: version: '3' networks: proxy: external: true services: reverse-proxy: container_name: ReverseProxy image: traefik

我设法用我的域()设置了一个反向代理,我想,我读到也可以在我的本地网络(或)上访问该服务,而不仅仅是通过https从外部访问

有人知道这是不是真的,如果是的话,我是怎么安排的

这是我的docker-compose.yml代码:

version: '3'

networks:
  proxy:
    external: true

services:
  reverse-proxy:
    container_name: ReverseProxy
    image: traefik
    restart: always
    command: --web --docker
    ports:
      - 8080:8080
      - 80:80
      - 443:443
    networks:
      - proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ~/docker/traefik/traefik.toml:/traefik.toml
      - ~/docker/traefik/acme.json:/acme.json

  homeassistant:
    image: homeassistant/home-assistant
    container_name: home-assistant
    restart: unless-stopped
    networks:
      - proxy
    expose:
      - 8123
    volumes:
     - ~/docker/homeassistant:/config
     - /etc/localtime:/etc/localtime:ro
    labels:
      - "traefik.backend=home-assistant"
      - "traefik.docker.network=proxy"
      - "traefik.frontend.rule=Host:MY-DOMAIN.COM"
      - "traefik.enable=true"
      - "traefik.port=8123"
      - "traefik.default.protocol=http"

这是我的traefik.toml代码:

debug = false

logLevel = "ERROR"
defaultEntryPoints = ["https","http"]

[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
    entryPoint = "https"
  [entryPoints.https]
  address = ":443"
  [entryPoints.https.tls]

[retry]

[web]
address = ":8080"

[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "MY-DOMAIN.COM"
watch = true
exposedbydefault = false

[acme]
email = "MY-EMAIL-ADDRESS"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
[acme.httpChallenge]
entryPoint = "http"

[[acme.domains]]
  main = "MY-DOMAIN.COM"

在homeassistant docker compose config上更改以下内容,以允许主机将8123映射到容器

发件人:

致:


来源:

您不想映射静态端口。首先,您不希望它们可以访问,其次,您可以扩展,因为复制副本将由于主机上的端口被占用而失败。traefik的全部要点是使用动态端口进行服务发现。
expose:
  - 8123
ports:
  - "8123:8123"