如何在ubuntu主机上的Docker容器之间路由端口

我正在从React前端进行JQuery Ajax调用到Express后端。 前端由端口80上的nginx服务,后端在端口3000上监听。从反应到expression的调用看起来像这样

$.ajax({ url: "http://localhost:3000/events?lat="+latitude+"&lng="+longitude+"&distance=15000&sort=time&until=%2B1%20week", dataType: "json", cache: false, success: function(data) { this.replaceState({data: data.events}); }.bind(this), error: function(xhr, status, err) { console.error(this.props.url, status, err.toString()); }.bind(this) }); 

当我尝试在Windows 10主机上执行此操作时,它可以无缝地工作,但是当我将容器部署到Digitalocean的Docker镜像(Ubuntu 14.04上的Docker 1.12.2)时,nginx服务器无法访问Express服务器:ERR_CONN_REFUSED

curllocalhost:80和curllocalhost:3000从主机工作正常。 我可以在容器之间从容器的shell之间ping通

sudo docker exec -i -t [container_id] / bin / bash

我试图禁用防火墙,但默认情况下这个图像已经禁用了。

sudo ufw禁用

任何提示接下来要做什么? 我没有想法。