Tra*_*Son 4 node.js npm docker docker-compose
这有点奇怪,运行时我没有看到任何错误docker-compose build,但是当我访问容器时,我没有看到node_modules文件夹,只package.json看到package-lock.json文件。我运行时的任何日志都docker-compose build正常显示。例如:
....
added 552 packages from 678 contributors and audited 4007 packages in 11.2s
found 0 vulnerabilities
....
Run Code Online (Sandbox Code Playgroud)
我的 Dockerfile:
FROM node:10
ENV APP_PATH /app
WORKDIR $APP_PATH
COPY ./app_front/package*.json ./
RUN npm install -g ts-node typescript
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "npm", "run", "start" ]
Run Code Online (Sandbox Code Playgroud)
并docker-compose归档
version: "3.5"
services:
mysql:
image: mysql:5.7
container_name: racer_mysql
restart: always
environment:
MYSQL_DATABASE: xxxx
MYSQL_USER: "xxxx"
MYSQL_PASSWORD: "xxxx"
MYSQL_ROOT_PASSWORD: xxxx
ports:
- "3306:3306"
expose:
- "3306"
volumes:
- ./docker/database:/var/lib/mysql
- ./docker/mysql_init:/docker-entrypoint-initdb.d
app_front:
container_name: app_front
build:
context: .
dockerfile: ./docker/app_front/Dockerfile
volumes:
- ./app_front:/app_front
ports:
- "3000:3000"
Run Code Online (Sandbox Code Playgroud)
注意:
但是当我在 中添加多个命令时docker-compose,它可以工作。但我想在 中安装软件包Dockerfile,而不是docker-compose文件。
command:
- /bin/bash
- -c
- |
npm install
npm start
Run Code Online (Sandbox Code Playgroud)
我的问题和这个问题一模一样,我也尝试过,但没有成功。欢迎任何建议!
我认为您在构建过程中构建了您的文件App夹/app_front/,然后使用以下方法删除“覆盖”该文件夹中的所有文件:
volumes:
- ./app_front:/app_front
Run Code Online (Sandbox Code Playgroud)
在您的 中compose,我建议您删除该volumes部分并重试。
| 归档时间: |
|
| 查看次数: |
4090 次 |
| 最近记录: |