Я не уверен, возможно ли это, потому что у меня нет контроля над DNS (хотя я могу редактировать / etc / hosts).
У меня есть несколько серверов Azure Ubuntu с 1 менеджером и 2 работниками (всего 3). Эти узлы доступны только в нашей корпоративной сети. Обычно я захожу на веб-порталы со своего рабочего стола в офисе, набирая:
- IP-адрес: порт
- Хост: Порт
- Host.corp.companyname.com: Порт
Моя цель состоит в том, чтобы вместо этого набрать что-то вроде host / pgadmin или host / portainer для маршрутизации на веб-портал, работающий на рабочих узлах. Является ли это возможным? Я не против редактировать файл рабочего стола / etc / hosts, но не хочу указывать IP-адрес (иначе нет смысла запускать портал на нескольких узлах).
services:
web:
image: traefik:1.7-alpine
networks:
- frontend
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /dev/null:/traefik.toml
ports:
- "80:80"
- "8080:8080"
command:
- --docker
- --docker.swarmMode
- --docker.domain=corp.companyname.com
- --docker.watch
- --api
- --defaultentrypoints=http
deploy:
placement:
constraints:
- node.role == manager
pgadmin4:
image: dpage/pgadmin4:4.0
ports:
- "5050:80"
deploy:
placement:
constraints:
- node.role == worker
labels:
- traefik.enable=true
- traefik.docker.network=frontend
- traefik.backend=pgadmin4
- traefik.port=5050
- traefik.frontend.rule=???????
networks:
- frontend
networks:
frontend:
external: true
name: frontend