Hei*_*erg 3 javascript node.js docker docker-compose
我尝试通过构建服务器和数据库docker
这是我的docker-compose.yml
version: '3'
services:
api-server:
build: ./api
links:
- 'db'
ports:
- '3000:3000'
volumes:
- ./api:/src
- ./src/node_modules
tty: true
container_name: api-server
db:
build:
context: .
dockerfile: ./db/Dockerfile
restart: always
hostname: db
environment:
MYSQL_ROOT_PASSWORD: test
MYSQL_USER: root
MYSQL_PASSWORD: test
MYSQL_DATABASE: db
volumes:
- './db:/config'
ports:
- 3306:3306
container_name: db
Run Code Online (Sandbox Code Playgroud)
这是我的Dockerfile
FROM node:alpine
WORKDIR /src
COPY . .
RUN rm -rf /src/node_modules
RUN rm -rf /src/package-lock.json
RUN yarn install
CMD yarn start:dev
Run Code Online (Sandbox Code Playgroud)
设置好服务器后,我尝试访问。但发生了以下错误
Error: Error loading shared library /src/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: Exec format error
我想知道问题出在哪里。以及如何解决它。
如果有人有意见,请告诉我。
谢谢
小智 5
对于像我这样寻找解决方案的每个人来说,我的解决方案是添加一个.dockerignore包含以下内容的文件:
.dockerignore
node_modules
Run Code Online (Sandbox Code Playgroud)
我的 Dockerfile 如下所示:
FROM node:14-alpine as development
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
Run Code Online (Sandbox Code Playgroud)
添加.dockerignore-file 可防止COPY . .-command 复制node_modules-fold 并修复 bcrypt 未加载的问题。
| 归档时间: |
|
| 查看次数: |
6566 次 |
| 最近记录: |