【发布时间】:2020-09-05 18:34:54
【问题描述】:
为了测试 Traefik,我制作了一个类似 whoami 的应用,在 Traefik 的 getting states 文档中显示,它以友好的消息响应对 '/' 和 '/sub' 端点的 GET HTTP 请求。我已经验证,改变 whoami 以通过不同的路径来回答确实有效,但由于某种原因,即使我的配置与 whoami 类似,Traefik 也不会解析我的应用程序。我知道首先想到的是,如果我以与 whoami 相同的方式配置我的应用程序,那么问题将出在我的应用程序上,但 curl 确实确认我可以从 Traefik 的容器访问我的应用程序,所以它让我想知道 Traefik 中是否包含 whoami 应用程序可以工作而我的应用程序不能工作的东西。我知道这是一个愚蠢的假设,但我看不出我的应用程序除了响应 HTTP Get 请求还需要做什么。您可以查看该应用程序以及我如何将所有内容都提供给here,只需查看build.sh。我解决的另一个问题是在集群模式下配置 Traefik,我必须创建一个 Traefik 图像,而不是将配置作为参数传递。主要配置显示在下面的代码中,traefik_rp 只是一个带有 tom 文件的 traefik 图像,将其设置为 sarmMode。
version: '3'
services:
traefik:
# The official v2 Traefik docker image
image: traefik_rp
# Enables the web UI and tells Traefik to listen to docker
command: --api.insecure=true --providers.docker
ports:
# The HTTP port
- "80:80"
# The Web UI (enabled by --api.insecure=true)
- "8080:8080"
volumes:
# So that Traefik can listen to the Docker events
- /var/run/docker.sock:/var/run/docker.sock
simple_app:
image: simpleapp
environment:
ASPNETCORE_ENVIRONMENT: Release
labels:
- "traefik.http.routers.simple_app_service.rule=Path(`/simpleapp`)"
whoami:
# A container that exposes an API to show its IP address
image: containous/whoami
labels:
- "traefik.http.routers.whoami.rule=Path(`/`)"
最好的问候。
【问题讨论】:
-
您可以将
--log.level=DEBUG添加到traefik服务的command行,并在尝试请求时共享配置日志和任何日志。
标签: .net docker configuration traefik swarm