我正在尝试运行一个node.js应用程序。
我可以直接在我的树莓克星上运行它。
在同一树莓派上运行的docker容器中,我没有这种运气。
Dockerfile:
FROM balenalib/raspberry-pi2-debian-node:10-stretch-run
RUN sudo apt-get update
RUN sudo apt-get -y install g++ python make git
WORKDIR /usr/src/app
COPY package.json package.json
RUN JOBS=MAX npm install --production
COPY . ./
CMD ["npm", "start"]
但是当我在Docker容器中运行相同的node.js代码时,出现了libnode.so.64错误。
pi@raspberrypi:~/rpi-lora-sensorified/data $ docker logs rpi-lora-sensorified_data_1
> resin-websocket@1.0.1 start /usr/src/app
> node index.js
/usr/src/app/node_modules/bindings/bindings.js:121
throw e;
^
Error: libnode.so.64: cannot open shared object file: No such file or directory
我尝试在容器中安装libnode-dev(我已经得出结论提供了该库),但是我得到了
E: Unable to locate package libnode-dev
是的,我已经重建了没有缓存的容器,但仍然找不到该包。
任何人(甚至实际上甚至有些指针都会有所帮助)都知道我应该在哪里继续寻找?
答案 0 :(得分:0)
所以我根本无法解释的解决方案是: 我试图在debian Stretch上运行代码,同时测试它是否可以在debian buster上运行。.将docker image更新为buster时,一切都按预期进行。