我对docker非常陌生,我正在尝试遵循他们列出的节点js教程:app/。
我遵循本教程,一切似乎都很好,直到测试部分,我不能卷曲到指定的端口。
$ curl -i localhost:49160
curl: (7) Failed to connect to localhost port 49160: Connection refused
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
21e727bc5a7d username/docker-test "node /src/index.js" 13 minutes ago Up 13 minutes 0.0.0.0:49160->8080/tcp gloomy_heisenberg
$ docker logs 21e727bc5a7d
Running on localhost:8080
$ docker exec -it 21e727bc5a7d bash
[root@21e727bc5a7d /]# netstat -tulpn
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1/node'不知道我是否对某件事感到困惑,或者如何解决这个问题,有什么想法吗?
发布于 2015-08-23 15:42:40
这就是解决办法:
docker run --rm -i -t -p 49160:8080 <your username>/centos-node-hello
输出应该是听端口8080。这意味着应用程序正在运行。docker-machine ls
您将看到和IP地址和端口。示例:192.168.99.100:<some-number>192.168.99.100:49160和您的网站应该启动。希望能帮上忙。
发布于 2017-02-17 15:08:15
我也遇到了同样的问题,并发现这是由于boot2docker没有将本地主机转发到正在运行Docker的虚拟机。
查找运行Docker的VM的IP如下所示:
$ boot2docker ip您将看到输出如下:
$ 192.168.99.102它给你打印出来,把你指定的端口卷在那个IP上。例如:
$ curl -i 192.168.99.102:49160发布于 2016-02-08 22:18:38
如果您使用的是Mac,并且已经使用docker安装了Docker,则可以使用:
curl $(docker-machine ip default):49160https://stackoverflow.com/questions/32041861
复制相似问题