将域名映射到 Docker 容器的最佳实践

rob*_*666 6 nginx proxy haproxy docker

从特定域名为 docker 容器提供服务的“最佳实践”是什么?

例如:

  • Container1 在端口 8080 上运行 App A,并通过 AwesomeAppA.com 访问
  • Container2 在端口 8090 上运行 App B,并通过 AwesomeAppB.com 访问

然后你可以,例如:

  1. 例如,让您的容器公开 Gunicorn/uWSGI 使用的端口,并在docker主机上使用Nginx来处理代理。
  2. 但是你也可以让你的容器在内部运行 Nginx 并使用HAProxy

但哪个更好?是否有其他首选选项,还是真的取决于个人喜好?

选项 1 符合单一职责原则,允许您在容器中运行您的 1 个应用程序,并让主机处理代理。它还允许 Nginx 处理 SSL,但除了“docker run”之外还需要额外的设置和配置。

tom*_*sop 1

根据Docker原则的最佳实践是遵守单一职责原则。

也就是说,选项 1 是首选方法。

有关其背后的基本原理,请参阅这篇有趣的文章

除此之外,您还可以按照您认为更适合您业务需求的方式使用 Docker。