npm install在构建docker映像时返回连接超时

时间:2020-03-02 22:13:29

标签: docker npm node-modules npm-install

我正在尝试制作一个包含$connection的docker镜像。我尝试使用newman构建映像,但是在node:10-alpine期间出现连接拒绝错误。这是我的docker命令:

npm install -g newman

完整错误是:

RUN set http_proxy= && \
    set https_proxy= && \
    yarn config delete proxy && \
    npm config rm https-proxy && \
    npm config rm proxy && \
    npm config set registry http://registry.npmjs.org/ && \
    npm config set strict-ssl false && \
    npm cache clean --force && \
    npm cache verify && \
    npm install -g newman

然后,我尝试使用npm ERR! code ECONNREFUSED npm ERR! errno ECONNREFUSED npm ERR! FetchError: request to https://registry.npmjs.org/newman failed, reason: connect ECONNREFUSED 192.168.14.109:1087 npm ERR! at ClientRequest.req.on.err (/usr/local/lib/node_modules/npm/node_modules/node-fetch-npm/src/index.js:68:14) npm ERR! at ClientRequest.emit (events.js:198:13) npm ERR! at onerror (/usr/local/lib/node_modules/npm/node_modules/agent-base/index.js:101:9) npm ERR! at callbackError (/usr/local/lib/node_modules/npm/node_modules/agent-base/index.js:123:5) npm ERR! at process._tickCallback (internal/process/next_tick.js:68:7) npm ERR! { FetchError: request to https://registry.npmjs.org/newman failed, reason: connect ECONNREFUSED 192.168.14.109:1087 npm ERR! at ClientRequest.req.on.err (/usr/local/lib/node_modules/npm/node_modules/node-fetch-npm/src/index.js:68:14) npm ERR! at ClientRequest.emit (events.js:198:13) npm ERR! at onerror (/usr/local/lib/node_modules/npm/node_modules/agent-base/index.js:101:9) npm ERR! at callbackError (/usr/local/lib/node_modules/npm/node_modules/agent-base/index.js:123:5) npm ERR! at process._tickCallback (internal/process/next_tick.js:68:7) npm ERR! message: npm ERR! 'request to https://registry.npmjs.org/newman failed, reason: connect ECONNREFUSED 192.168.14.109:1087', npm ERR! type: 'system', npm ERR! errno: 'ECONNREFUSED', npm ERR! code: 'ECONNREFUSED', npm ERR! stack: npm ERR! 'FetchError: request to https://registry.npmjs.org/newman failed, reason: connect ECONNREFUSED 192.168.14.109:1087\n at ClientRequest.req.on.err (/usr/local/lib/node_modules/npm/node_modules/node-fetch-npm/src/index.js:68:14)\n at ClientRequest.emit (events.js:198:13)\n at onerror (/usr/local/lib/node_modules/npm/node_modules/agent-base/index.js:101:9)\n at callbackError (/usr/local/lib/node_modules/npm/node_modules/agent-base/index.js:123:5)\n at process._tickCallback (internal/process/next_tick.js:68:7)' } npm ERR! npm ERR! If you are behind a proxy, please make sure that the npm ERR! 'proxy' config is set properly. See: 'npm help config' npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2020-03-02T14_57_46_444Z-debug.log 制作映像,这在alpine:3.8时出现存储库错误。这是我的第二个版本:

apk update

完整的错误日志是:

RUN apk update && apk add --no-cache nodejs npm
RUN npm install -g newman

我还尝试使用Step 5/7 : RUN apk update && apk add --no-cache nodejs npm ---> Running in 6149b2571389 fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.8/main: operation timed out WARNING: Ignoring APKINDEX.adfa7ceb.tar.gz: No such file or directory fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.8/community: operation timed out WARNING: Ignoring APKINDEX.efaa1f73.tar.gz: No such file or directory 2 errors; 13 distinct packages available The command '/bin/sh -c apk update && apk add --no-cache nodejs npm' returned a non-zero code: 2 选项构建映像;但是在两个版本中都有相同的错误。

另外--network=host在我的系统上也可以正常工作。

此外,重新启动docker服务ping dl-cdn.alpinelinux.org,并尝试了一次。再次获得相同的结果。

2 个答案:

答案 0 :(得分:1)

就我而言,可以执行以下步骤:

  1. 在主机中,我更改主机服务器 /etc/sysctl.conf:

我添加了

net.ipv4.ip_forward=1
  1. 我使用

    nslookup Registry.npmjs.org

给我IP 104.16.25.38

  1. 使用IP构建Docker

docker build。 --add-host Registry.npmjs.org:104.16.25.38 -t测试

答案 1 :(得分:0)

就我而言,此操作适用于单个步骤

docker build --add-host Registry.npmjs.org:104.16.25.38 -t。