du7*_*7ri 9 bcrypt node.js express docker
我正在尝试制作一个 dockerfile 并将我的代码运行到这个容器中。我收到以下错误:
node:internal/modules/cjs/loader:1187
return process.dlopen(module, path.toNamespacedPath(filename));
^
Error: /node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header
at Object.Module._extensions..node (node:internal/modules/cjs/loader:1187:18)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/node_modules/bcrypt/bcrypt.js:6:16)
at Module._compile (node:internal/modules/cjs/loader:1103:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12) {
code: 'ERR_DLOPEN_FAILED'
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序在没有 Docker 的情况下运行良好。我还尝试像这个问题一样删除 bcrypt:Node - was generated against a different Node.js version using NODE_MODULE_VERSION 51
docker文件:
FROM node:16
WORKDIR ./
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 4000
CMD ["node", "server.js"]
Run Code Online (Sandbox Code Playgroud)
.dockerignore:
node_modules
upload
export
converage
.git
.tmp
.vscode
.github
.env
Run Code Online (Sandbox Code Playgroud)
小智 7
您需要添加一个.dockerignore
基本的.dockerignore样子
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# production
/build
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6392 次 |
| 最近记录: |