gpt4 book ai didi

node.js - Docker 主机名未在 next.js prod 中解析但在开发模式下工作(错误 : getaddrinfo ENOTFOUND)

转载 作者:行者123 更新时间:2023-12-02 17:36:54 25 4
gpt4 key购买 nike

我正在 docker 容器中运行 next.js react 应用程序。它由其他几个包含组成:一个运行 Ghost(我正在使用 API),一个运行 mysql,一个运行 NGINX。我让一切都在开发模式下运行。

使用 next dev 运行时效果很好.但是当我通过做 next build 来运行它时和 next start , 我开始看到类似 Error: getaddrinfo ENOTFOUND ghost-api 的错误当我尝试向我的 Ghost API 容器发出服务器端 HTTP 请求时。我不完全确定问题是什么,但似乎 Node 在构建后如何发出请求存在一些问题。我一直在挖掘很多 Docker/Node 问题,试图解决这个问题,但没有任何运气。

整个项目可以在这里找到:https://github.com/MichaelWashburnJr/react-cms

最佳答案

我无法重现该错误。您如何以生产模式启动前端容器?

从错误看来,您可能试图将前端容器或前端应用程序作为单独的进程启动,而不是将其作为 compose 项目的一部分启动。如果是这种情况,名称 ghost-api将无法解析,您会得到 Error: getaddrinfo ENOTFOUND ghost-api错误。

我已经更改了 command前端容器的key如下:

command:  [ "yarn", "start-prod" ]

将 frontend/package.json 中的“start-prod”脚本更改如下:
"start-prod": "next build && NODE_ENV='production' next start"

一切都像在开发模式下一样工作。我有一些 UNKNOWN_CONTENT_API_KEY dev 和 prod 模式下都出错,但绝对没有 ghost-api 名称解析错误。

关于node.js - Docker 主机名未在 next.js prod 中解析但在开发模式下工作(错误 : getaddrinfo ENOTFOUND),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62377316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com