[英]Can I resolve an npm install error without deleting my package-lock.json file?
[英]How can I pass to my source code the package-lock.json file generated inside my container?
我正在尝试构建一个很好的工作流以与docker和nodejs一起使用
我认为我有很好的基础,但是即使我有定义的卷,也无法将在容器内部生成的package-lock.json转换为源代码
这是我的Dockerfile:
FROM node
WORKDIR /app
COPY ./package.json ./
RUN npm install
RUN npm install -g nodemon
COPY ./src ./src
EXPOSE 3000
CMD ["nodemon", "./src/index.js"]
这是我的docker-compose.yml:
version: '3'
services:
web:
build: ./app
command: nodemon ./src/index.js
ports:
- '8080:3000'
volumes:
- ./app/src:/app/src
- /app/node_modules/
links:
- mysql
mysql:
image: mysql:5.6
environment:
- MYSQL_DATABASE=dev
- MYSQL_USER=dev
- MYSQL_PASSWORD=dev
- MYSQL_ROOT_PASSWORD=dev
ports:
- '3306:3306'
为了将package-lock.json提交给我的版本控制工具,每次我通过在容器内通过npm install
新软件包并生成/更新package-lock.json时,我都想转到生成的源代码package-lock.json文件
您需要将/app
添加到卷中,因为package-lock.json
将在此目录中生成,不是吗?
由于此,您可以替换卷:
volumes:
- ./app/src:/app/src
- /app/node_modules/
上:
volumes:
- ./app:/app
另外我会选择/var/app
而不是/app
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.