docker中的node.js – 找不到绑定文件… / bcrypt_lib.node
我有一个自定义的node.js应用程序在VM中运行良好,但是当我尝试在docker中运行它时,出现错误
Error initializing middleware Error: Could not locate the bindings file. Tried: → /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/build/bcrypt_lib.node → /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/build/Debug/bcrypt_lib.node → /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/build/Release/bcrypt_lib.node → /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/out/Debug/bcrypt_lib.node → /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/Debug/bcrypt_lib.node → /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/out/Release/bcrypt_lib.node → /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/Release/bcrypt_lib.node → /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/build/default/bcrypt_lib.node → /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/compiled/4.8.4/linux/x64/bcrypt_lib.node at bindings (/usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/node_modules/bindings/bindings.js:88:9) at Object.<anonymous> (/usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/bcrypt.js:3:35)
Dockerfile如下所示
FROM node:4-onbuild # Create app directory WORKDIR /usr/src/app # Install app dependencies COPY package.json . ENV PORT 8080 RUN npm install RUN npm install --unsafe-perm node-gyp RUN npm install --unsafe-perm libxmljs RUN npm rebuild # Bundle app source COPY . . EXPOSE 8080 CMD [ "npm", "start" ]
我已经添加了这里提到的build议没有成功(安装node-gyp和libxmljs,做npm重build)。 我正在使用"bcryptjs": "^2.3.0"
。
任何build议如何使其工作,表示赞赏! 🙂
问题的根本原因是使用co-bcrypt
。 将其从package.json
删除并用bcryptjs
replace所有require语句bcryptjs
,错误消失。
- 如何删除除了一个之外的泊坞窗图像的多个标签
- Docker真的不需要操作系统吗?
- 泊坞窗撰写rails应用程序正在请求迁移,当它已经在内部运行时运行
- 在daemon.json中configuration的Docker基本映像大小
- docker-compose volumes_from使用示例
- Mono.Btls.MonoBtlsException:Ssl错误:1000007d:SSL例程:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
- 如何在Docker容器中设置核心文件大小?
- 是否有可能使用Winscp连接到正在运行的Docker容器?
- 从docker容器中向localhost发出请求