访问docker容器外的节点模块的数据量

时间:2017-07-06 11:14:25

标签: node.js docker node-modules

我有一个node.js web服务的docker设置,它为节点模块创建一个数据卷,如下所示:

  volumes:
       - ./service:/usr/src/service
       - /usr/src/service/node_modules

数据量的解决方案正常。但是,使用数据卷时,我的主机不是容器)无法访问或显示node_modules,这会产生其他限制。例如:我无法在web-storm中运行测试,因为他们希望node_modules存在。

除了使用数据卷来安装节点模块以外,是否还有其他解决方案可以在主机上访问它们?

docker文件如下所示:

FROM node:6.3.1-slim

ARG NPM_TOKEN
ARG service
ENV NODE_ENV development

RUN apt-get update && apt-get -y install build-essential git-core python-dev vim

# use nodemon for development
RUN npm install --global nodemon

COPY .npmrc /root/.npmrc

RUN mkdir -p /usr/src/$service
RUN mkdir -p /modules/$service/
COPY sources/$service/package.json /modules/$service/package.json
RUN cd /modules/$service/ && npm install && rm -f /root/.npmrc && mv /modules/$service/node_modules /usr/src/$service/node_modules

WORKDIR /usr/src/$service
COPY sources/$service /usr/src/$service

ENV service=${service}

COPY start_services.sh /root/start_services.sh
COPY .env /root/.env
COPY services.sh /root/services.sh

RUN ["chmod", "+x", "/root/start_services.sh"]
RUN ["chmod", "+x", "/root/services.sh"]
CMD /root/start_services.sh

1 个答案:

答案 0 :(得分:0)

指定node_modules,如下所示:

volumes:
  - .:/usr/src/service/
  - /usr/src/service/node_modules