我正在尝试在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同步呢?我如何使它工作?
预先感谢您的回答