0
我使用traefik和docker後端。這裏是我首發traefik:基於路徑的多個容器和交換容器的一臺主機
$ cat docker-compose.yml
version: '2'
networks:
default:
external:
name: proxy
services:
traefik:
image: traefik
command: --web --docker --docker.domain=docker --logLevel=WARNING
container_name: traefik
ports:
- "80:80"
- "8080:8080"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /dev/null:/traefik.toml
labels:
- "traefik.frontend.rule=Host:dashboard.docker"
- "traefik.port=8080"
我想2個容器,一個是docker registry,和第二個是UI for the registry。我希望像registry.docker/v2/*
這樣的所有HTTP請求都通過註冊表容器,但任何其他請求(registry.docker/
,registry.docker/repositories/20
,...)都要通過UI容器。
這是我的嘗試:
$ cat docker-compose.yml
version: '2'
networks:
default:
external:
name: proxy
services:
registry:
image: registry:2
container_name: registry
environment:
- REGISTRY_STORAGE_DELETE_ENABLED=true
labels:
- traefik.frontend.rule=Host:registry.docker, PathPrefix:/v2
- traefik.frontend.port=5000
registry-ui:
image: konradkleine/docker-registry-frontend:v2
container_name: registry-ui
environment:
- ENV_DOCKER_REGISTRY_HOST=registry.docker
- ENV_DOCKER_REGISTRY_PORT=80
- ENV_DOCKER_REGISTRY_USE_SSL=false
labels:
- traefik.frontend.rule=Host:registry.docker
但是,所有的請求經過registry
容器。我應該改變什麼?
是的,我改變了',PathPrefix:用'/ v2'; PathPrefix:/ v2' – mykiwi