我正在为后端服务器创建一个docker,但是在创建卷之前一切都很好,所以我配置了.yml docker-compose.yml
version: "3.7"
services:
my-api:
container_name: backend
build: ./
command: npm start
working_dir: /usr/src/my-api
ports:
- "3000:3000"
volumes:
- ./:/usr/src/my-api
这是我的 Dockerfile
FROM node:10
WORKDIR /usr/src/my-api
COPY ./ ./
RUN npm install
CMD ["/bin/bash"]
考虑到我创建了我的 .dockerignore
node_modules
根据我的分析,问题是在创建卷时,直接复制了模块,这导致了如下所示的问题。
Successfully built e1dfb81dd4c4
Successfully tagged facial-api_smart-brain-api:latest
Creating backend ... done
Attaching to backend
backend |
backend | > facial-api@1.0.0 start /usr/src/Facial-api
backend | > nodemon server.js
backend |
backend | [nodemon] 1.18.4
backend | [nodemon] to restart at any time, enter `rs`
backend | [nodemon] watching: *.*
backend | [nodemon] starting `node server.js`
backend | internal/modules/cjs/loader.js:718
backend | return process.dlopen(module, path.toNamespacedPath(filename));
backend | ^
backend |
backend | Error: /usr/src/Facial-api/node_modules/bcrypt/lib/binding/bcrypt_lib.node: invalid ELF header
backend | at Object.Module._extensions..node (internal/modules/cjs/loader.js:718:18)
backend | at Module.load (internal/modules/cjs/loader.js:599:32)
backend | at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
backend | at Function.Module._load (internal/modules/cjs/loader.js:530:3)
backend | at Module.require (internal/modules/cjs/loader.js:637:17)
backend | at require (internal/modules/cjs/helpers.js:20:18)
backend | at Object.<anonymous> (/usr/src/Facial-api/node_modules/bcrypt/bcrypt.js:6:16)
backend | at Module._compile (internal/modules/cjs/loader.js:689:30)
backend | at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
backend | at Module.load (internal/modules/cjs/loader.js:599:32)
backend | [nodemon] app crashed - waiting for file changes before starting...
有什么想法,建议解决吗?
答案 0 :(得分:0)
有两种可能的情况,