Я изо всех сил пытаюсь настроить стек роя Docker, используя traefik. Я решил попробовать traefik в качестве альтернативы jwolder / nginx-proxy, поскольку, к сожалению, последний, похоже, не поддерживает режим Swcker в Docker. Но я считаю, что traefik - проблема (возможно, моя ошибка!).
У меня есть контейнер WordPress (реплицированный) и MySQL, а также контейнер traefik. Все контейнеры в рое созданы и запускаются, и docker logs <container_id>
не выявляет ошибок, но когда я захожу на «example.org» (не настоящий домен), я просто вижу 404 page not found
. Так что это должно быть проблема связи между traefik и контейнерами, которые я хочу прокси. Однако я также не вижу панель инструментов traefik, так что, возможно, происходит что-то еще.
Вот мой файл docker-compose:
version: '3'
services:
traefik:
image: traefik:latest
command: --api.insecure=true \
--providers.docker=true \
--providers.docker.exposedbydefault=false \
--providers.docker.swarmmode=true \
--providers.docker.watch=true \
--logLevel=DEBUG
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- traefik
deploy:
mode: global
placement:
constraints:
- node.role == manager
db:
image: mysql:5.7
volumes:
- ./db/initdb.d:/docker-entrypoint-initdb.d
networks:
- traefik
environment:
MYSQL_ROOT_PASSWORD: <root_password>
MYSQL_DATABASE: <db_name>
MYSQL_USER: <db_user>
MYSQL_PASSWORD: <user_password>
deploy:
replicas: 1
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
app:
image: my-repo/wordpress:latest
depends_on:
- db
networks:
- traefik
environment:
- VIRTUAL_PORT=80
- VIRTUAL_HOST=example.org
deploy:
replicas: 2
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:example.org"
networks:
traefik:
Настройка orignal nginx-proxy работает хорошо, но, как я говорю, не позволит мне запустить рой. Я экспериментировал с traefik всего один день, так что, возможно, это какая-то ошибка школьника.
Примечание: я псевдоним моего фактического домена .org 127.0.0.1 в моем / etc / hosts. Возможно, это проблема? Я не могу себе представить, что я без проблем запускаю контейнеры Docker с такой настройкой.