【问题标题】:The command '/bin/sh -c npm install' returned a non-zero code: 1 with docker命令 '/bin/sh -c npm install' 返回一个非零代码: 1 与 docker
【发布时间】:2021-05-28 06:13:11
【问题描述】:

这是一个 dockerfile

FROM node:alpine

WORKDIR '/app'

COPY package.json .
RUN npm install
COPY . .

CMD ["npm","start"]

当我运行docker build . 时,我得到了

Sending build context to Docker daemon  4.096kB
Step 1/6 : FROM node:alpine
 ---> 72ca8e2f26fa
Step 2/6 : WORKDIR '/app'
 ---> Using cache
 ---> 39c33c7a6b1c
Step 3/6 : COPY package.json .
 ---> Using cache
 ---> 79a79ca26be1
Step 4/6 : RUN npm install
 ---> Running in 45e16e475139
npm ERR! code EAI_AGAIN
npm ERR! syscall getaddrinfo
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npmjs.org/express failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-05-27T22_06_22_293Z-debug.log
The command '/bin/sh -c npm install' returned a non-zero code: 1

我该如何解决这个问题?

附:请注意,我使用的是 ubuntu 20.04,而且我对使用 docker 非常陌生。

编辑

这里是 index.js 文件:

const express = require('express');
const redis = require('redis');

const app = express();
const client = redis.createClient();
client.set('visits', 0);

app.get('/', (req, res) => {
  client.get('visits', (err, visits) => {
    res.send('Number of visits ' + visits);
    client.set('visits', parseInt(visits) + 1);
  });
});

app.listen(8081, () => {
  console.log('listening on port 8081');
});

这是 package.json 文件:

{
  "dependencies": {
    "express": "*",
    "redis": "2.8.0"
  },
  "scripts": {
    "start": "node index.js"
  }
}

我认为代码或包中没有任何错误。

【问题讨论】:

    标签: docker npm


    【解决方案1】:

    EAI_AGAIN 表示 DNS 服务器回复说它当前无法完成请求。

    如果您在使用 Firebase Cloud Functions 时遇到此错误,这是由于免费层的限制(仅允许 Google 服务的出站网络)。

    升级到 Flame 或 Blaze 计划以使其工作。

    【讨论】:

    • 它对您添加的内容没有帮助。该错误意味着无法解析registry.npmjs.org。您使用的是什么提供商?看起来您的提供商不允许您使用该服务器。一个疯狂的猜测是我一开始就猜对了这个问题:)
    猜你喜欢
    • 2019-02-02
    • 2021-03-19
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多