Теперь все работает как положено, кроме сервиса Netdata. Netdata настраивается с использованием network_mode:host, что означает, что netdata напрямую подключена к порту хоста, в данном случае к порту 19999. Я пытался добиться того, чтобы Traefik перенаправлял запросы на сетевые данные на порт хоста 19999. Что происходит, так это Ошибка «слишком много перенаправлений».
Вот как выглядит docker-compose.yml моего Traefik:
Код: Выделить всё
version: '3.9'
services:
traefik:
image: traefik:v3.0
ports:
- 80:80
- 443:443
expose:
- 8080
networks:
- proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./letsencrypt:/letsencrypt
- ./log:/var/log
command:
- --log.level=INFO
- --log.filepath=/var/log/traefik.log
- --accesslog=true
- --accesslog.filepath=/var/log/access.log
- --api.dashboard=true
- --providers.docker.network=proxy
- --providers.docker.exposedByDefault=false
- --entrypoints.web.address=:80
- --entrypoints.web.http.redirections.entrypoint.to=websecure
- --entryPoints.web.http.redirections.entrypoint.scheme=https
- --entrypoints.websecure.address=:443
- --entrypoints.websecure.asDefault=true
- --entrypoints.websecure.http.tls.certresolver=tlsresolver
- [email protected]
- --certificatesresolvers.tlsresolver.acme.tlschallenge=true
- --certificatesresolvers.tlsresolver.acme.storage=/letsencrypt/acme.json
labels:
- traefik.enable=true
# dashboard
- traefik.http.routers.dashboard.rule=Host(`dashboard.mycoolwebapp.io`)
- traefik.http.services.dashboard.loadbalancer.server.port=8080
- traefik.http.routers.dashboard.service=api@internal
- traefik.http.routers.dashboard.middlewares=api-auth
- traefik.http.middlewares.api-auth.basicauth.users=xxxx:$$apr1$$xxxxx$xxxxxxxxxx/
# netdata
- traefik.http.routers.netdata.rule=Host(`netdata.mycoolwebapp.io`)
- traefik.http.routers.netdata.service=netdata
- traefik.http.services.netdata.loadbalancer.server.port=19999
networks:
proxy:
external: true
name: proxy
Код: Выделить всё
version: '3'
services:
netdata:
image: netdata/netdata
container_name: netdata
pid: host
network_mode: host
restart: unless-stopped
cap_add:
- SYS_PTRACE
- SYS_ADMIN
security_opt:
- apparmor:unconfined
volumes:
- ./netdataconfig:/etc/netdata
- netdatalib:/var/lib/netdata
- netdatacache:/var/cache/netdata
- /etc/passwd:/host/etc/passwd:ro
- /etc/group:/host/etc/group:ro
- /etc/localtime:/etc/localtime:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/os-release:/host/etc/os-release:ro
- /var/log:/host/var/log:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /run/dbus:/run/dbus:ro
volumes:
netdatalib:
netdatacache:
Но, похоже, это не работает, это почему-то вызывает слишком много запросов .
Надеюсь, вы, ребята, видите проблему, но я здесь немного застрял.
Подробнее здесь: https://stackoverflow.com/questions/790 ... erse-proxy