Next.Js 13.4.18 Docker 部署后无法访问

将项目 Next.js 升级后,通过 Docker 部署无法访问到服务,通过 docker logs id 检查日志,发现没有任何反应,甚至一个访问请求都没看到。

  1. 一开始怀疑是打包的问题,将 Docker 容器中的服务文件全部拉下来,在本地跑..诶嘿~正常运行...排除打包问题

  2. 检查启动日志:ready started server on 127.0.0.1:3000, url: http://127.0.0.1:3000
    上一个版本的启动日志:ready started server on localhost:3000, url: http://localhost:3000

搜了下 127.0.0.1localhost 的区别:

localhost也叫local ,正确的解释是:本地服务器

127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)

他们的解析通过本机的host文件,windows自动将localhost解析为127.0.0.1

localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。

127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。

一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。
————————————————
版权声明:本文为CSDN博主「席飞剑」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xifeijian/article/details/12879395

到 Next.js 官网查看 Changelog,果然啊,你小子!!!

v13.4.17

Core Changes

Example Changes

  • Update Docker example to remove HOSTNAME: #54102

查看官方 Docker 打包文件 https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile

==>> set hostname to localhost

# set hostname to localhost
ENV HOSTNAME "0.0.0.0" # 原来是 localhost
posted @ 2023-08-23 12:30  CloverYou  阅读(351)  评论(0)    收藏  举报