首页 > 解决方案 > 进行从 docker 容器到主机的端口映射时,如何解决“curl (56) Recv failure: Connection reset by peer”错误?

问题描述

我有一个 Angular 项目在端口 4200 的 docker 容器中运行。我已经完成了从 docker 容器的 4200 端口到我的本地主机 4200 的端口映射。

我在 Ubuntu 16.04 上运行它。做的时候netstat -nltp,我得到输出

tcp6 0 0 :::4200 :::* LISTEN

我的 Dockerfile 看起来像:

FROM node
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app
RUN npm cache clean --force
RUN npm install
COPY . /usr/src/app
EXPOSE 4200
CMD ["npm","start"]

我希望在运行 curl :::4200 时向我显示网页源代码而不是错误, curl (56) Recv failure: Connection reset by peer

标签: linuxdockerdocker-composecontainersport

解决方案


package.json为我的角度项目更改以下内容就可以了。

{
  "name": "client",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  }

{
  "name": "client",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --host 0.0.0.0",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

点击链接了解更多详情


推荐阅读