приведу пример.
version: '3'
services:
flask:
build: ./flask
image: flask
command: uwsgi --http-socket 0.0.0.0:5000 --wsgi-file app.py --callable app
labels:
- "traefik.enable=true"
- "traefik.backend=flask"
- "traefik.frontend.rule=${TRAEFIK_FRONTEND_RULE}"
traefik:
image: traefik:v1.7.24
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik/traefik.toml:/etc/traefik/traefik.toml:ro
- ./traefik/acme:/etc/traefik/acme
ports:
- "80:80"
- "443:443"
- "8080:8080"
В traefik мы видим метки. Каким образом приложение внутри контейнера traefik узнаёт о метках. А самое главное, почему используются метки, а не переменные окружения? Какие задачи они выполняют?
SO: https://ru.stackoverflow.com/questions/1142291/%d0%9f%d0%be%d0%bb%d1%83%d1%87%d0%b8%d1%82%d1%8c-%d0%b7%d0%bd%d0%b0%d1%87%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bc%d0%b5%d1%82%d0%ba%d0%b8-%d0%b2%d0%bd%d1%83%d1%82%d1%80%d0%b8-%d0%ba%d0%be%d0%bd%d1%82%d0%b5%d0%b9%d0%bd%d0%b5%d1%80%d0%b0
сам traefik умеет читать лейблы, по ним ориентируется. если вопрос как он их читает, то велком в исходники traefik
Сокет пробросили
Обсуждают сегодня