gpt4 book ai didi

node.js - 如何将容器内生成的 package-lock.json 文件传递​​到源代码?

转载 作者:太空宇宙 更新时间:2023-11-04 01:37:41 24 4
gpt4 key购买 nike

我正在尝试构建一个良好的工作流程来使用 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

关于node.js - 如何将容器内生成的 package-lock.json 文件传递​​到源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54013209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com