您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

docker-compose在node_modules上的卷,但为空

docker-compose在node_modules上的卷,但为空

https //github.com/xbx/base-server

首先(在运行容器之前),需要在计算机中使用node_modules(外部映像)进行调试。

如果只想调试node_modules:

volumes:
    - /path/to/node_modules:/usr/src/app/node_modules

如果要调试代码和node_modules:

volumes:
    - .:/usr/src/app/

请记住,您npm install至少需要在容器外运行一次(或复制docker build生成的npm_modules )。现在,如果您需要更多详细信息,请让我。

编辑 。因此,无需在OSX中使用npm,您可以:

编辑2。(选项2) https //github.com/xbx/base-server 我在您的仓库中自动完成了所有操作。

Docker文件

FROM node:6.3

# Install app dependencies
RUN mkdir /build-dir
WORKDIR /build-dir
COPY package.json /build-dir
RUN npm install -g babel babel-runtime babel-register mocha nodemon
RUN npm install

# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
RUN ln -s /build-dir/node_modules node_modules

# Bundle app source
COPY . /usr/src/app

EXPOSE 1234
CMD [ "npm", "start" ]

docker-compose.yml

web:
  build: .
  ports:
    - "1234:1234"
  links:
    - db # liaison avec la DB
  environment:
    PORT: 1234
  command: /command.sh
  volumes:
    - ./src/:/usr/src/app/src/
    - ./node_modules:/usr/src/app/node_modules
    - ./command.sh:/command.sh
db:
  image: mongo:3.3
  ports:
    - "27017:27017"
  command: "--smallfiles --logpath=/dev/null"

command.sh

#!/bin/bash

cp -r /build-dir/node_modules/ /usr/src/app/

exec npm start

请克隆我的仓库,然后做docker-compose up。它可以满足您的需求。PS:可以通过更好的方式(例如最佳做法等)来做同样的事情

我在OSX中,它对我有用。

Node 2022/1/1 18:20:11 有325人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶