В настоящее время мне сложно обновить контейнеры traefik v1 до v2. Я установил контейнер traefik с автоматической пересылкой c http-> https. Теперь я хочу запустить portainer со следующим docker -композитным файлом:
version: '3.3'
volumes:
portainer: {}
networks:
web:
external: true
services:
portainer:
image: portainer/portainer:latest
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
command: |
--no-analytics
--data /data
--admin-password "the_hashed_password"
-H unix:///var/run/docker.sock
networks:
web:
labels:
- "traefik.enable=true"
- "traefik.http.routers.portainer.entrypoints=websecure"
- "traefik.http.routers.portainer.rule=Host(`portainer.myserver.domain`)"
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
- "traefik.http.routers.portainer.tls=true"
- "traefik.http.routers.portainer.tls.certresolver=leresolver"
- "traefik.http.routers.portainer.middlewares=authportainer"
# generate with: sudo docker run --rm -ti xmartlabs/htpasswd user password
- "traefik.http.middlewares.authportainer.basicauth.users=myuser:my_hashed_password"
Теперь, когда я запускаю контейнер с docker-compose up
, я получаю:
portainer_1 | 2020/04/19 16:10:04 Starting Portainer 1.23.2 on :9000
...
portainer_1 | 2020/04/19 16:10:04 server: Listening on 0.0.0.0:8000...
Доступ http://portainer.myserver.domain
правильно переходит к https://portainer.myserver.domain
. После аутентификации с помощью myuser
отображается пустая страница с исчезающим сообщением с тостом «Ошибка. Не удается получить настройки и состояние сервера». С traefik v1 настройка работала. Чего я не понимаю, так это того, нужно ли мне что-то делать с портом 8000 (что я не делал в старой рабочей среде).
Как отладить такой сценарий?
Что не так с моим docker -композитным файлом?
PS Для краткости я опустил файл конфигурации traefik. Если хотите, добавлю (работает с простыми контейнерами).