具有节点bcrypt的Docker – 无效的ELF头
我已经尝试从这篇文章和这篇文章的每个解决scheme
运行docker-compose up
时,我找不到解决以下错误的解决scheme:
module.js:598 return process.dlopen(module, path._makeLong(filename)); ^ Error: /code/node_modules/bcrypt/lib/binding/bcrypt_lib.node: invalid ELF header
这是我最新的尝试docker-compose.yml
version: "2" services: app: build: ./client ports: - "3000:3000" links: - auth volumes: - ./client:/code auth: build: ./auth-service ports: - "3002:3002" links: - db volumes: - ./auth-service:/code db: ...
而我的validation服务Dockerfile:
FROM node:7.7.1 EXPOSE 3002 WORKDIR /code COPY package.json /code RUN npm install COPY . /code CMD npm start
在尝试从上述两个链接的每个解决scheme后,我重build容器,并始终导致相同的错误。
另外值得注意的是,当我不使用docker时,服务在本地运行良好。
如何让docker使用bcrypt?
更新
我能够通过执行以下操作来实现它:
- find容器的ID:
docker ps
- 访问容器:
docker exec -t -i containerId /bin/bash
- 安装bcrypt:
npm install bcrypt
这对于便携性来说并不理想