我正在用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
构建映像,但输出没有任何变化
1条答案
按热度按时间6yt4nkrj1#
实际上我找到了解决这个问题的办法。
经过一些调试,我发现根本原因在这个线程:https://github.com/Koenkk/zigbee2mqtt/issues/7662#issuecomment-852985841
基本上问题是
libseccomp
包没有为基于debian的发行版更新。这就是为什么docker构建在遇到第一个node
或npm
命令时失败。在遵循注解中的说明并手动更新libseccomp
后,我设法让所有东西启动并运行。但是仅仅使用@Nullndr在初始问题的评论中建议的
node:debian
可能会更容易=)