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

什么被视为从一个特定的域名服务docker集装箱的“最佳做法”?

例如:

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

那么你可以,例如:

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

但哪个更好? 还有其他的优先select,还是真的是个人喜好?

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

根据Docker原则的最佳实践是符合单一责任原则。

这是选项1是首选的方法。

对于这背后的理由看这个有趣的文章

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