curl http://127.0.0.1:8080 想要跑出nodejs的Hell world效果时,突然报Connection reset by peer错。

打镜像的时候使用了package.json和index.js拿了简单的example,一开始const port是3030以为是端口问题,改成8080重新打镜像运行之后还是一样的错误。

后面还好找到了一个博主的方案,http://blog.mangolovecarrot.net/2021/04/24/233
尝试改了之后确实可以了。

const hostname = '127.0.0.1';

这地址是本机地址,只允许机器内部访问,需要进入容器访问。

docker ps 列出docker容器

CONTAINER ID   IMAGE                     COMMAND       CREATED        STATUS        PORTS                           
ce86b2365135   iaiti/centosnodejs1   "node /app/index.js"   19 hours ago   Up 19 hours   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   fervent_wright

exec命令进入容器才能输出hello world

[root@ce86b2365135 app]# curl http://localhost:8080
Hello World

如果想在机器上直接访问

将const hostname = '127.0.0.1'; 改为const hostname = '0.0.0.0';即可

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐