【发布时间】:2020-09-15 09:52:35
【问题描述】:
我正在尝试使用 Go API 对我的 React 应用程序进行 dockerize,但遇到了以下错误。
Proxy error: Could not proxy request /api/todos from localhost:3000 to http://localhost:8080.
See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).
所以我在 google 上发现我需要将这些行添加到我的 package.json 中
"proxy": "http://localhost:8080","secure": false,
我已经尝试了上述解决方案的其他几种替代方案,但也没有奏效。
如果我在容器中启动我的 Go API,并且如果我从控制台使用 npm start 启动我的 React 应用程序,它确实可以工作。但是,如果我尝试编写它们,那是行不通的。 任何建议表示赞赏!
我的 docker-compose.yml;
version: '3'
services:
go:
build: backend
restart: always
ports:
- '8080:8080'
react:
build: frontend
restart: always
tty: true
ports:
- "8080:3000"
这是我的后端 docker;
FROM golang:latest
RUN mkdir /app
ADD . /app
WORKDIR /app
COPY main.go .
RUN go get -v -u github.com/gorilla/mux
RUN go build main.go
CMD ["/app/main"]
还有我的前端 docker;
FROM node:14
RUN mkdir /app
ADD . /app
WORKDIR /app
COPY /package*.json /app
RUN npm install
COPY . /app
EXPOSE 3000
CMD ["npm","start"]
【问题讨论】:
-
localhost 指的是 react 容器,而不是 go 容器。见docs.docker.com/compose/networking。
标签: reactjs docker go docker-compose