如何配置Docker端口映射以将Nginx用作上游代理?
更新二 现在是2015年7月16日,情况又发生了变化。我从Jason Wilder找到了这个自动魔术容器: https://github.com/jwilder/nginx-proxy它可以解决这个问题,只要将它带到docker run容器中即可。现在这是我用来解决此问题的解决方案。 更新资料 现在是2015年7月,关于联网Docker容器的情况已经发生了巨大变化。现在有许多不同的产品(以多种方式)解决了这个问题。 您应该使用这篇文章对docker --link服务发现的方法有一个基本的了解,它几乎是最基本的,运作良好,并且实际上比大多数其他解决方案需要更少的花式跳舞。它的局限性在于,很难在任何给定群集中的单独主机上联网容器,并且一旦联网就无法重新启动容器,但是确实提供了一种快速且相对容易的方式来在同一主机上联网容器。这是了解您可能要使用的软件实际上是在做什么的一种好方法。 此外,您可能还需要查看Docker的新生network,Hashicorp的consul,Weaveworks weave,Jeff Lindsay的progrium/consul&gliderlabs/registrator和Google的Kubernetes。 另外还有CoreOS利用的产品etcd,fleet和flannel。 如果您真的想开个聚会,可以启动一个集群来运行Mesosphere或Deis或Flynn。 如果您是网络新手(像我一样),那么您应该拿起老花镜,在Wi-Hi-Fi上弹出“用星星画天空-最好的Enya”,然后喝点啤酒-这将是过一会儿,您才真正了解要执行的操作。提示:你试图实现一个Service Discovery Layer在你的Cluster Control Plane。这是度过一个星期六晚上的好方法。 这很有趣,但是我希望我能花点时间在开始潜水之前花一些时间来更好地学习网络方面的知识。我最终从仁慈的《数字海洋教程》中找到了几篇文章:Introduction to Networking Terminology和Understanding ... Networking。我建议在潜水之前先阅读几次。 玩得开心! 原始帖子 我似乎无法掌握Docker容器的端口映射。具体来说,如何将请求从Nginx传递到另一个容器,侦听同一服务器上的另一个端口。 我有一个Nginx容器的Dockerfile像这样: FROM ubuntu:14.04 MAINTAINER Me <me@myapp.com> RUN apt-get update && apt-get install -y htop git nginx ADD sites-enabled/api.myapp.com /etc/nginx/sites-enabled/api.myapp.com ADD sites-enabled/app.myapp.com /etc/nginx/sites-enabled/app.myapp.com …