GatsbyJS - 如何解决 GatsbyJS 的 "net::ERR_CONNECTION_REFUSED"?
GatsbyJS - How can I solve the "net::ERR_CONNECTION_REFUSED" of GatsbyJS?
注意:感谢@Ferran Buireu 的建议。由于对 docker 非常陌生并且正在将网络世界更改为系统和编程,我很确定会得到负票。
部署gatsbyjs后,发现socketio报错“net::ERR_CONNECTION_REFUSED”。
即使当我浏览任何页面时它都能正常工作,但我认为它不正确 运行 。
我该如何解决这个错误? (下面是错误捕获)
我在 Ubuntu 20.04.2 和 Docker 20.10.6 上实施和部署这些服务,请参阅下面的“docker-compose.yml”
version: "3"
services:
frontendapp01:
working_dir: /frontendapp01
build:
context: ./frontendapp01
dockerfile: Dockerfile
depends_on:
- backendsrv01
- mongoserver
volumes:
- ./sentric01:/srv/front
ports:
- "8001:8000"
environment:
GATSBY_WEBPACK_PUBLICPATH: /
STRAPI_URL: backendsrv01:1337
networks:
- vpsnetwork
frontendapp02:
working_dir: /frontendapp02
build:
context: ./frontendapp02
dockerfile: Dockerfile
depends_on:
- backendsrv02
- mongoserver
volumes:
- ./sentric02:/srv/front
ports:
- "8002:8000"
environment:
GATSBY_WEBPACK_PUBLICPATH: /
STRAPI_URL: backendsrv02:1338
networks:
- vpsnetwork
frontendapp03:
working_dir: /frontendapp03
build:
context: ./frontendapp03
dockerfile: Dockerfile
depends_on:
- backendsrv02
- mongoserver
volumes:
- ./sentric03:/srv/front
ports:
- "8003:8000"
environment:
GATSBY_WEBPACK_PUBLICPATH: /
STRAPI_URL: backendsrv02:1338
networks:
- vpsnetwork
backendsrv01:
image: strapi/strapi
container_name: backendsrv01
restart: unless-stopped
environment:
DATABASE_CLIENT: mongo
DATABASE_NAME: essential
DATABASE_HOST: mongoserver
DATABASE_PORT: 27017
networks:
- vpsnetwork
volumes:
- ./app01:/srv/app
ports:
- "1337:1337"
backendsrv02:
image: strapi/strapi
container_name: backendsrv02
restart: unless-stopped
environment:
DATABASE_CLIENT: mongo
DATABASE_NAME: solven
DATABASE_HOST: mongoserver
DATABASE_PORT: 27017
networks:
- vpsnetwork
volumes:
- ./app02:/srv/app
ports:
- "1338:1337"
mongoserver:
image: mongo
container_name: mongoserver
restart: unless-stopped
networks:
- vpsnetwork
volumes:
- vpsappdata:/data/db
ports:
- "27017:27017"
networks:
vpsnetwork:
driver: bridge
volumes:
vpsappdata:
套接字连接仅在开发阶段 (gatsby develop
) 出现,旨在通过热重载在每次保存时刷新和更新浏览器,因此不会丢失组件状态。此功能称为快速刷新。
正如我所说,出于显而易见的原因,这仅适用于 gatsby develop
。 gatsby build
下没有连接套接字。如果您的 Docker 开发环境共享端口 8000
和 8001
(根据您的 docker-compose.yml
设置),一旦构建,可能会导致套接字中断,因为它已更改项目范围。
回答,你不用担心,你的项目似乎构建正常,但是,由于环境之间的共享端口,它会提示日志。
进一步阅读:
注意:感谢@Ferran Buireu 的建议。由于对 docker 非常陌生并且正在将网络世界更改为系统和编程,我很确定会得到负票。
部署gatsbyjs后,发现socketio报错“net::ERR_CONNECTION_REFUSED”。 即使当我浏览任何页面时它都能正常工作,但我认为它不正确 运行 。 我该如何解决这个错误? (下面是错误捕获)
我在 Ubuntu 20.04.2 和 Docker 20.10.6 上实施和部署这些服务,请参阅下面的“docker-compose.yml”
version: "3"
services:
frontendapp01:
working_dir: /frontendapp01
build:
context: ./frontendapp01
dockerfile: Dockerfile
depends_on:
- backendsrv01
- mongoserver
volumes:
- ./sentric01:/srv/front
ports:
- "8001:8000"
environment:
GATSBY_WEBPACK_PUBLICPATH: /
STRAPI_URL: backendsrv01:1337
networks:
- vpsnetwork
frontendapp02:
working_dir: /frontendapp02
build:
context: ./frontendapp02
dockerfile: Dockerfile
depends_on:
- backendsrv02
- mongoserver
volumes:
- ./sentric02:/srv/front
ports:
- "8002:8000"
environment:
GATSBY_WEBPACK_PUBLICPATH: /
STRAPI_URL: backendsrv02:1338
networks:
- vpsnetwork
frontendapp03:
working_dir: /frontendapp03
build:
context: ./frontendapp03
dockerfile: Dockerfile
depends_on:
- backendsrv02
- mongoserver
volumes:
- ./sentric03:/srv/front
ports:
- "8003:8000"
environment:
GATSBY_WEBPACK_PUBLICPATH: /
STRAPI_URL: backendsrv02:1338
networks:
- vpsnetwork
backendsrv01:
image: strapi/strapi
container_name: backendsrv01
restart: unless-stopped
environment:
DATABASE_CLIENT: mongo
DATABASE_NAME: essential
DATABASE_HOST: mongoserver
DATABASE_PORT: 27017
networks:
- vpsnetwork
volumes:
- ./app01:/srv/app
ports:
- "1337:1337"
backendsrv02:
image: strapi/strapi
container_name: backendsrv02
restart: unless-stopped
environment:
DATABASE_CLIENT: mongo
DATABASE_NAME: solven
DATABASE_HOST: mongoserver
DATABASE_PORT: 27017
networks:
- vpsnetwork
volumes:
- ./app02:/srv/app
ports:
- "1338:1337"
mongoserver:
image: mongo
container_name: mongoserver
restart: unless-stopped
networks:
- vpsnetwork
volumes:
- vpsappdata:/data/db
ports:
- "27017:27017"
networks:
vpsnetwork:
driver: bridge
volumes:
vpsappdata:
套接字连接仅在开发阶段 (gatsby develop
) 出现,旨在通过热重载在每次保存时刷新和更新浏览器,因此不会丢失组件状态。此功能称为快速刷新。
正如我所说,出于显而易见的原因,这仅适用于 gatsby develop
。 gatsby build
下没有连接套接字。如果您的 Docker 开发环境共享端口 8000
和 8001
(根据您的 docker-compose.yml
设置),一旦构建,可能会导致套接字中断,因为它已更改项目范围。
回答,你不用担心,你的项目似乎构建正常,但是,由于环境之间的共享端口,它会提示日志。
进一步阅读: