我正在尝试使用 Traefik 在我的 Docker Swarm 模式集群中部署代理多个应用程序。
我已经得到它,以便它代理一个命名主机,但我希望它代理一个命名主机和路径,但我无法计算出我需要使用的标签。
这是docker service
我正在使用的命令:
docker service create \
\
--label "traefik.port=9000" \
--label "traefik.docker.network=traefik-net" \
--label "traefik.frontend.rule=Host:`hostname -f`" \
--label="traefik.backend=portainer" \
\
--constraint "node.role == manager" \
-p 9000:9000 \
--mount "type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock" \
--name portainer \
portainer/portainer
如果主机是,dummy.localhost
那么我可以在http://dummy.localhost
. 但是我想修改它,以便我必须使用http://dummy.localhost/portainer
.
我已经看到在为 Traefik 使用 toml 文件时有一些方法可以做到这一点,但我在我部署的 docker 服务上使用监视模式和标签。
如何在我的标签中组合多个前端规则,以便可以在主机名和路径上代理此(和任何其他)应用程序?