Docker-compose:如何安装node_modules?

时间:2020-11-12 08:25:39

标签: node.js docker docker-compose dockerfile node-modules

我正在尝试在docker-compose文件中挂载node_modules文件夹,但是我不知道该怎么做...
docker-compose:

version: "2"
services:
  test:
    container_name: abc
    restart: unless-stopped
    stop_signal: SIGTERM
    stop_grace_period: 1m
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./.docker/node_modules:/data/node_modules
      - ./src:/data/src
      - ./uploads:/data/uploads  
    stdin_open: true
    tty: true
    ports:
      - "1234:1234"

Dockerfile

FROM ubuntu:16.04

RUN apt-get update && apt-get -y upgrade

RUN apt-get -y install curl
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash
RUN apt-get -y install nodejs

SHELL ["/bin/bash", "-c"]
WORKDIR /data
COPY ./package.json .
COPY ./package-lock.json .
COPY ./config.json .

RUN npm install
CMD cd ./src/server && node ./server.js

运行docker-compose up -d命令的期望-我希望它安装node_modules并为其创建一个卷,以便我可以从容器外部的本地计算机访问/编辑某些模块

我现在得到的是空的./docker/node_modules文件夹,以及容器中的空的node_modules文件夹,导致我的应用只是关于未找到模块的错误

当我在容器中手动执行npm install时,似乎可以很好地同步文件夹,但是为什么不与Dockerfile同步呢?我如何使它工作?

预先感谢您的回答

0 个答案:

没有答案