我正在尝试在我的 getStaticProps
中发送请求从另一个 docker 容器到我的后端 api 的函数。但是,即使 api url 写入正确,静态页面仍然没有创建。这是因为要构建静态页面,后端应该已经启动,并且由于是构建时间,另一个容器还没有启动并等待构建完成,没有后端就无法完成构建.
那么这种方法的解决方案是什么?我尝试设置 depends_on
对我的另一个容器的值(value),仍然不起作用。你会建议什么解决方案?
最佳答案
我能想到2个解决方案。
显然,Next.js 构建失败,因为它正在查询的服务没有运行。因此,为什么不构建并启动它显式依赖的服务并像这样构建其余的服务。
docker-compose build some_services
docker-compose up -d some_services
docker-compose build the_rest
这样,Next.js 应用程序将能够发出请求。请记住,您仍然需要正确配置端口和网络。很确定这将解决问题。一个更“花哨”的解决方案是使用在更高版本中添加的构建时网络,
3.4+
如果我没有记错的话。docker-compose.yml
build:
context: ./service_directory
network: some_network
更多详情请查看Docker-compose network
关于javascript - 无法在构建期间使用 docker 在 next.js 中发送请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67162429/