Это может быть дубликат: Доступ к контейнеру через порт 3000 через traefik , но это решение с v1 из traefik.
Здравствуйте, ребята, в настоящее время я разрабатывал две вещи:
- реагирует приложение на порт 3001
- приложение узла на порт 3000
Позже они будут работать в одном домене, и я хочу работать таким же образом при разработке .
Я решил посвятить себя traefik для этой потребности ..
version: '3.7'
services:
traefik:
image: traefik:v2.2
command:
- --api.insecure=true
# Docker
- --providers.docker
- --providers.docker.exposedByDefault=false
- --providers.docker.network=internal
- --entrypoints.web.address=:80v02.api.letsencrypt.org/directory
# Config
- --accesslog=true
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
whoami:
image: emilevauge/whoami
labels:
- "traefik.http.routers.whoami.rule=Host(`whoami.docker.localhost.test`)"
- "traefik.enable=true"
api:
container_name: api
build:
context: .
target: development
labels:
#- "traefik.http.services.api-service.loadbalancer.server.port=3000"
- "traefik.http.routers.api-router.rule=Host(`api.brainstoo.localhost.test`)"
- "traefik.enable=true"
Сейчас я могу получить доступ к своему API с помощью URL: api.brainstoo.localhost.test: 3000 Но я бы хотел получить к нему доступ напрямую через api.brainstoo.localhost.test без порта. Если я прокомментирую или раскомментирую строку ** # - "traefik.http.services.apiservice.loadbalancer.server.port = 3000" ** ничего не изменится.
Я не знаю, что я делаю неправильно. Возможно, я не совсем понял, решит ли traefik такие вопросы.
Примечание: я уже настроил файл / etc / hosts
Заранее спасибо.