将容器中的节点_模块安装到与项目文件夹不同的位置,并将节点_路径设置到节点_模块文件夹有助于我(您需要重建容器)。
我用的是docker compose。我的项目文件结构:
-/myproject
--docker-compose.yml
--nodejs/
----Dockerfile
docker撰写。yml:
version: '2'
services:
nodejs:
image: myproject/nodejs
build: ./nodejs/.
volumes:
- ./nodejs:/workdir
ports:
- "23005:3000"
command: npm run server
nodejs文件夹中的Dockerfile:
FROM node:argon
RUN mkdir /workdir
COPY ./package.json /workdir/.
RUN mkdir /data
RUN ln -s /workdir/package.json /data/.
WORKDIR /data
RUN npm install
ENV NODE_PATH /data/node_modules/
WORKDIR /workdir