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

时间:2017-02-13 16:37:42

标签: ajax nginx docker digital-ocean

我正在从React前端到Express后端进行JQuery Ajax调用。前端由端口80上的nginx提供服务,后端正在侦听端口3000.从react到express的调用看起来像这样

$.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

从主机curl localhost:80和curl localhost:3000工作正常。 我能够从容器内部的容器中ping到容器

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

我尝试禁用防火墙,但默认情况下已在此图片上禁用。

sudo ufw disable

任何暗示接下来要尝试什么?我没有想法。

0 个答案:

没有答案