Наше приложение работает за обратным прокси-сервером traefik. Мы управляем многими поддоменами и используем возможность traefik для наблюдения за файлами для динамической настройки новых поддоменов для прокси. Таким образом, наше приложение генерирует конфигурационный файл traefik .yaml dynamici c.
Один и тот же traefik будет управлять многими экземплярами одного и того же приложения. добраться до нашего приложения внутри собственной сети. Мы знаем, что можем использовать простое имя хоста, которое является именем контейнера. Но это работает только внутри стандартной сети docker экземпляра приложения, но не во внешней сети, используемой совместно с traefik.
Для этой версии требуется длинное имя хоста, поэтому мы уверены, что оно достигло нужного экземпляра приложения. (<compose_name>_<container_name>_1
или в зависимости от docker -композитной версии (<compose_name>_<container_name>_1_<hash>
)
Вы знаете способ получить длинную версию имени хоста docker -композитного контейнера внутри другого контейнера того же docker -создать сеть по умолчанию?
Для лучшего контекста, вот простой файл docker -compose.yaml
version: "3"
services:
app:
image: app_image
networks:
- app_network
restart: unless-stopped
nginx:
image: nginx
links:
- app
networks:
- app_network
- traefik_traefik
restart: unless-stopped
networks:
traefik_traefik:
external: true
app_network:
driver: bridge
Мы хотим, чтобы внутри контейнера app
получите версию nginx
с длинным именем хоста, чтобы мы могли использовать ее для генерации конфигурации Dynami c для traefik.
Спасибо за вашу помощь.