gpt4 book ai didi

docker - Traefik:docker 配置不起作用

转载 作者:行者123 更新时间:2023-12-02 18:18:01 24 4
gpt4 key购买 nike

我正在尝试使用 Docker 中的 Traefik 反向代理设置示例应用程序。

我正在使用 Traefik v2.2对于这个与 Traefik.v1.0 有显着差异的项目。

这是我的 docker-compose.yml文件:

version: '3'

services:
traefik:
# The official v2 Traefik docker image
image: traefik:v2.2
# Enables the web UI and tells Traefik to listen to docker
command:
- --api.insecure=true
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --entrypoints.web.address=:80
ports:
# The HTTP port
- "89:80"
# The Web UI (enabled by --api.insecure=true)
- "8089:8080"
volumes:
# So that Traefik can listen to the Docker events
- "/var/run/docker.sock:/var/run/docker.sock:ro"
whoami:
# A container that exposes an API to show its IP address
image: containous/whoami
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)"
- "traefik.http.routers.whoami.entrypoints=web"

当我转到 localhost:8089 时,我可以访问 Traefik 的仪表板在我的网络浏览器上,但我无法访问 whoami当我输入 whoami.localhost 时的应用程序我的网络浏览器上的地址。我只是想知道在访问它之前是否需要更改任何内容,或者我是否需要从 whoami.localhost 更改主机至 localhost:3000因为这是我想要访问应用程序的端口。

任何形式的帮助将不胜感激。谢谢你。

最佳答案

我发现的一个问题是你暴露了容器端口 80 traefik 容器到主机端口 89 .如果您输入 whoami.localhost在您的 Web 浏览器中,您的浏览器将在主机端口 80 上搜索应用程序。在那个地址(因为 localhost 本地映射到端口 80 ),但它不会在那里找到任何东西,因为它只能在端口 89 找到.根据我的理解,您应该能够通过命令行使用命令 curl -H Host:whoami.localhost http://127.0.0.1:89 访问该应用程序。 .不幸的是,我不确定 URL whoami.localhost:89 是如何产生的。由您的浏览器分别由您的 DNS 处理。

您可以修改docker-compose.yml这样归档:

version: "3"

services:
traefik:
# The official v2 Traefik docker image
image: traefik:v2.2
# Enables the web UI and tells Traefik to listen to docker
command:
- --api.insecure=true
- --providers.docker=true
ports:
# The HTTP port
- "89:80"
# The Web UI (enabled by --api.insecure=true)
- "8089:8080"
volumes:
# So that Traefik can listen to the Docker events
- /var/run/docker.sock:/var/run/docker.sock
whoami:
# A container that exposes an API to show its IP address
image: containous/whoami
labels:
- traefik.http.routers.whoami.rule=Host(`whoami.localhost`)

然后您可以通过键入以下内容在命令终端上访问该应用程序:
curl -H Host:whoami.localhost http://127.0.0.1:89

备注 : whoami.localhost可以 whoami.docker.localhostapp.localhost或任何你想要的。这里的事情是你应该 localhost附加到末尾,除非您要添加完全限定域名 (FQDN)。

就这样。

我希望这会有所帮助

关于docker - Traefik:docker 配置不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62037697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com