【问题标题】:Cannot run Traefik in a Docker container with docker-compose无法使用 docker-compose 在 Docker 容器中运行 Traefik
【发布时间】:2019-12-09 13:48:59
【问题描述】:

我正在尝试对我的服务器进行 Dockerise,而 Traefik 似乎是管理 Web 流量并将其定向到适当容器的最佳方式。我按照this tutorial 中的说明进行操作,但是当我在浏览器中输入网址时,没有任何反应。它基本上使用 Docker Compose 配置 Traefik 容器。

traefik.toml文件和docker-compose.yml文件中引用的域名存储在动态DNS服务dynu.com上,其中注册了一条指向当前服务器IP的A记录。但是,我的服务器上没有运行 Apache 或 Nginx。我查看了一些关于 Traefik 的教程,它们不清楚您是否需要在服务器上安装 Apache/Nginx 以及在您使用的两者中的任何一个上配置域名之前 开始教程。我认为 Traefik 是 Nginx 的替代品,但你是否也需要运行 Nginx?

我的目标是在同一台服务器上运行多个站点/应用程序,每个站点/应用程序都有单独的域名。我有一个服务器主机,这是我在 Traefik 文件中配置的,但我想为不同的应用程序/站点使用不同的域名。

【问题讨论】:

  • Traefik 是一个反向代理,它不能替代 ngnix。您仍然需要创建网站的东西,.. 它可能是带有一些静态文件的 ngnix,但通常它也可能是您的反向代理的 PHP / Nodes / Java / Go / Rust 等。

标签: docker docker-compose containers traefik


【解决方案1】:

Traefik 是一个反向代理和负载均衡器。

NGINX 是一个 Web 服务器,也可以用作反向代理、负载平衡器、邮件代理和 HTTP 缓存。

反向代理只是将请求转发到其他服务器/应用程序的中间服务器。因此,您仍然需要让您的网站/应用程序通过网络服务器运行并可用,以便进行任何反向代理。

traefik 的卖点是它使用 Let's Encrypt 自动化 SSL 证书 并提供了一种在 docker-compose 配置中代理应用程序的简单方法。

NGINX 也可以做反向代理,但更先进一些。您必须编辑静态配置并重新加载该过程。只要您可以使用 http 服务器(node.js 等)将您的应用程序/网站托管在内部端口上,您就可以使用 traefik 或 NGINX 对其进行反向代理。

如果您按照指南设置 traefik,您应该可以通过http://localhost:8080/ 访问仪表板

Reverse proxy definition from NGINX

traefik community forums 是一个很好的起点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-16
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多