Я хотел бы настроить следующий сценарий:
- Одна физическая машина с контейнерами Docker
- траефик в контейнере с сетью
backend
- другой контейнер, который использует сеть хост-компьютеров (
network_mode: host
)
Traefik успешно находит контейнер и добавляет его с IP-адресом 127.0.0.1
, который явно недоступен из контейнера traefik (другая сеть/мост).
докер-compose.yml:
version: '3'
services:
traefik:
image: traefik
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik.toml:/etc/traefik/traefik.toml
networks:
- backend
app:
image: my_app
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:myapp.example"
- "traefik.port=8080"
network_mode: host
networks:
backend:
driver: bridge
Контейнер app
добавляется с
Server URL Weight
server-app http://127.0.0.1:8080 0
Load Balancer: wrr
Конечно, я могу получить доступ к app
с помощью http://127.0.0.1:8080
на хост-компьютере или с помощью http://$HOST_IP:8080
из контейнера traefik.
Могу ли я как-то убедить traefik использовать другой IP для контейнера?
Спасибо!
network_mode
в конфигурацию контейнера приложения. - person efpe   schedule 18.08.2017