刚进入 docker 并想尝试将一些服务放在 traefik 后面。
在路由部分之前,一切似乎都很好。已经有两个服务正在工作并且路由正确,但我似乎无法让 pihole 在 http 上工作。
主机出现在 HTTP 路由器的仪表板中,但未路由,在加载 pihole.services.int 子域一段时间后,我得到 404 not found 而不是 pihole 登录页面。最奇怪的是,其他服务在端口 80 上解析,并正确路由。
这是 pihole 的 docker-compose.yml。
version: "3.5"
services:
pihole:
image: pihole/pihole:latest
container_name: pihole
networks:
- test_network
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
#- "80:80"
environment:
- TZ=Europe/London
#- WEBPASSWORD= '$PASSWD'
# # Volumes store your data between container upgrades
# volumes:
# - './etc-pihole/:/etc/pihole/'
# - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
# # Recommended but not required (DHCP needs NET_ADMIN)
# # https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
# cap_add:
# - NET_ADMIN
# restart: unless-stopped
#
volumes:
- '/home/user/docker/pi-hole/etc-pihole/:/etc/pihole/'
- '/home/user/docker/pi-hole/etc-dnsmasq.d/:/etc/dnsmasq.d/'
cap_add:
- NET_ADMIN
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.routers.pihole.entrypoints=web"
- "traefik.http.routers.pihole.rule=Host(`pihole.services.int`)"
networks:
test_network:
external: true
我的 traefik.yml 是
api:
insecure: true
entryPoints:
web:
address: ":80"
websec:
address: ":443"
log:
level: INFO
providers:
docker:
exposedByDefault: false
endpoint: "unix:///var/run/docker.sock"
watch: true
工作服务的配置将是 heimdall,正确路由到 heimdall.services.int 这里是 docker-compose.yml
version: "3.5"
services:
heimdall:
image: lscr.io/linuxserver/heimdall
container_name: heimdall
networks:
- test_network
environment:
- TZ=Europe/London
volumes:
- /var/lib/docker/volumes/heimdall_config:/config
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.heimdall.entrypoints=web"
- "traefik.http.routers.heimdall.rule=Host(`heimdall.services.int`)"
networks:
test_network:
external: true
此外,当我在 traefik 中激活日志时,我在 pihole 上没有看到任何有用的信息(没有关于此服务的消息),它们是在 INFO 级别配置的。
有点迷失在哪里看和做什么