繁体   English   中英

如何将容器内部生成的package-lock.json文件传递给源代码?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM