РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcTrRtSp 12 of 28 menu
◀ ▶

Порт сервиса в Docker

Порт сервиса говорит прокси, на какой номер внутри контейнера слать запрос, и это не порт компьютера. Метка traefik.http.services.web.loadbalancer.server.port со значением 80 подходит для nginx, который слушает 80 внутри копии. Сайт наружу порт не публикует.

Правило хоста Host(`site.localhost`) остаётся на роутере web, а номер порта задают отдельной меткой на том же сервисе. Прокси и web на nginx в одном описании:

services: proxy: image: traefik:3 command: - --providers.docker=true - --providers.docker.exposedbydefault=false - --entrypoints.web.address=:80 ports: - "80:80" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro web: image: nginx labels: - traefik.enable=true - traefik.http.routers.web.rule=Host(`site.localhost`) - traefik.http.services.web.loadbalancer.server.port=80

Фоновый подъём проекта:

docker compose up -d

Стартовая страница nginx открывается по http://site.localhost. Строки ports у web в файле нет.

Опишите сервис blog на nginx с хостом blog.localhost и внутренним портом 80 в метке балансировщика для роутера blog.

Откройте http://blog.localhost и убедитесь, что видна приветственная страница nginx.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить