在我的本地计算机上,我可以从Nodejs项目的Dockerfile中构建映像。但是我在 AWS EKS的工作节点中克隆了该项目,并尝试构建该映像,但是它没有用。 (注意:*the reason that I ran the docker build on a worker node, previous I tried to build an image inside Jenkins and it gives the same result as what I got the error inside worker nodes*
)。
错误:
docker build -t crmproxy .
Sending build context to Docker daemon 1.451MB
Step 1/9 : FROM node:8
---> c83f74dcf58e
Step 2/9 : WORKDIR /usr/src/app
---> Using cache
---> 1f9b76a60013
Step 3/9 : COPY package*.json ./
---> b2ca6505fed4
Step 4/9 : RUN npm install
---> Running in 39aae0cbd868
[91mnpm ERR! cb() never called!
[0m[91m
npm ERR! This is an error with npm itself. Please report this error at:
npm ERR! <https://npm.community>
第一次出现此错误时,我用Google搜索了此错误,我认为这是因为 ULIMIT 不够。但是它无法通过增加 ULIMIT 来解决该错误。这是我以前的StackOverflow Question
所以这就是为什么我尝试在工作节点中测试docker build的原因。在EKS工作者节点中,即时通讯收到相同的错误。我可以在安装了docker的本地计算机和普通ec2实例中构建映像。
Dockerfile:
FROM node:8
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3002
CMD npm start
任何帮助将不胜感激!
答案 0 :(得分:1)
尝试使用此dockerfile
FROM node:8
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm cache verify && npm install
COPY . .
EXPOSE 3002
CMD npm start
如果仍然无法正常工作,请尝试清除npm cache clean -f
和npm update
,我认为这可能是npm版本问题。
您可以使用npm i -g npm