我是docker的新手,并且尝试遵循他们列出的node js教程:https://docs.docker.com/examples/nodejs_web_app/

我遵循了本教程,直到测试部分一切正常,而且我无法 curl 到指定的端口。

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

不知道我是否对某事感到困惑或如何解决这个问题,有什么想法吗?

最佳答案

这是解决方案:

  • 像这样运行您的应用程序:
    docker run --rm -i -t -p 49160:8080 <your username>/centos-node-hello
    应该有一条输出说监听8080端口。
    这意味着该应用程序正在运行
  • 打开另一个Docker CLI终端并输入:
    docker-machine ls
    您将看到IP地址和端口。示例:192.168.99.100:<some-number>
  • 转到浏览器,然后输入IP地址和导出的端口号。

    在这种情况下,192.168.99.100:49160,您的网站应该启动。

  • 希望能帮助到你。

    08-04 10:36
    查看更多