Javascript Can';在nextjs getStaticProps中是否不向docker容器发送请求?
我正试图从Next.jsJavascript Can';在nextjs getStaticProps中是否不向docker容器发送请求?,javascript,docker,api,docker-compose,next.js,Javascript,Docker,Api,Docker Compose,Next.js,我正试图从Next.jsgetStaticProps函数向另一个容器发送一个简单的GET请求,该容器是使用docker compose的节点后端api 这是我的docker撰写文件: version: "3" services: web: build: ./backend volumes: - ./backend:/home/node/app/ ports: - "3001:3001" fronten
getStaticProps
函数向另一个容器发送一个简单的GET请求,该容器是使用docker compose的节点后端api
这是我的docker撰写文件:
version: "3"
services:
web:
build: ./backend
volumes:
- ./backend:/home/node/app/
ports:
- "3001:3001"
frontend:
build: ./frontend
volumes:
- ./frontend:/home/node/app/
ports:
- "3000:3000"
depends_on:
- "web"
Next.js中的Index.js:
export const getStaticProps=async(上下文)=>{
const{data}=await axios({method:“GET”,url:)http://web:3001" })
返回{
道具:{
data:data.message,
},
}
}
我做错了什么
我用相同的url连接了其他非Next.js应用程序
http://web:3001
它们工作得很好。为什么我不能构建我的next.js应用程序?你应该定义一个在所有容器之间共享的网络,这样你就可以访问web上的后端:3001。我怎么做?前端应用程序在你的浏览器中运行;这超出了Docker空间,无法使用任何Docker网络功能。它必须连接到后端容器的已发布的端口:
;如果浏览器和容器都在同一台主机上运行,http://localhost:3001
。但是getStaticProps函数是在服务器端运行的