docker 构建节点停靠器映像会导致错误133

ybzsozfc  于 2023-03-17  发布在  Docker
关注(0)|答案(1)|浏览(219)

我正在用Docker构建一个remix.run项目。
下面是我的Dockerfile

FROM node:alpine

WORKDIR /app

COPY ./package*.json /app/

RUN npm install

COPY . /app

RUN npm run build

CMD ["npm", "run", "start"]

但是当我构建它时,我得到了以下错误:

$ docker image build -t website .
Sending build context to Docker daemon  3.398MB
Step 1/7 : FROM node:alpine
 ---> de31857d30b5
Step 2/7 : WORKDIR /app
 ---> Using cache
 ---> 8b3558d128e4
Step 3/7 : COPY ./package*.json /app/
 ---> Using cache
 ---> d1d5f47f3a87
Step 4/7 : RUN npm install
 ---> Running in 279c78d7a2b3

#
# Fatal error in , line 0
# unreachable code
#
#
#
#FailureMessage Object: 0x7eb164ec
The command '/bin/sh -c npm install' returned a non-zero code: 133

一点在线调查让我想到我可能会耗尽内存,但我不认为这是事实

$ free -h
              total        used        free      shared  buff/cache   available
Mem:          923Mi       149Mi       282Mi       7.0Mi       491Mi       712Mi
Swap:          99Mi          0B        99Mi

我还尝试使用RUN npm install --verbose构建映像,但输出没有任何变化

6yt4nkrj

6yt4nkrj1#

实际上我找到了解决这个问题的办法。
经过一些调试,我发现根本原因在这个线程:https://github.com/Koenkk/zigbee2mqtt/issues/7662#issuecomment-852985841
基本上问题是libseccomp包没有为基于debian的发行版更新。这就是为什么docker构建在遇到第一个nodenpm命令时失败。在遵循注解中的说明并手动更新libseccomp后,我设法让所有东西启动并运行。
但是仅仅使用@Nullndr在初始问题的评论中建议的node:debian可能会更容易=)

相关问题