相关疑难解决方法(0)

Docker-compose:npm安装成功后,卷中没有node_modules

我有一个具有以下服务的应用程序:

  • web/ - 在端口5000上保存并运行python 3 flask Web服务器.使用sqlite3.
  • worker/- 有一个index.js文件,它是队列的工作者.Web服务器使用json API over port与此队列交互9730.工人使用redis进行存储.工作人员还将数据本地存储在文件夹中worker/images/

现在这个问题只涉及到了worker.

worker/Dockerfile

FROM node:0.12

WORKDIR /worker

COPY package.json /worker/
RUN npm install

COPY . /worker/
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

redis:
    image: redis
worker:
    build: ./worker
    command: npm start
    ports:
        - "9730:9730"
    volumes:
        - worker/:/worker/
    links:
        - redis
Run Code Online (Sandbox Code Playgroud)

当我运行时docker-compose build,一切都按预期工作,所有npm模块都/worker/node_modules按照我的预期安装.

npm WARN package.json unfold@1.0.0 No README data

> phantomjs@1.9.2-6 install /worker/node_modules/pageres/node_modules/screenshot-stream/node_modules/phantom-bridge/node_modules/phantomjs
> node install.js

<snip>
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时docker-compose up,我看到了这个错误:

worker_1 …
Run Code Online (Sandbox Code Playgroud)

node.js docker ubuntu-14.04 docker-compose

155
推荐指数
10
解决办法
7万
查看次数

当docker容器中的node_modules时,VS Code IntelliSense

我想知道在我们使用docker开发应用程序时以及当我们只在本地docker容器内部使用node_modules时,是否可以配置VS Code IntelliSense?

提前致谢!

javascript intellisense npm node-modules visual-studio-code

12
推荐指数
1
解决办法
664
查看次数

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

我是Docker的新手,我想在我的计算机上映射node_modules文件夹(用于调试目的).

这是我的docker-compose.yml

web:
  build: .
  ports:
    - "3000:3000"
  links:
    - db
  environment:
    PORT: 3000
  volumes:
    - .:/usr/src/app
    - /usr/src/app/node_modules
db:
  image: mongo:3.3
  ports:
    - "27017:27017"
  command: "--smallfiles --logpath=/dev/null"
Run Code Online (Sandbox Code Playgroud)

我在使用Docker for Mac.当我运行docker-compose up -d所有正确,但它在我的计算机上创建一个node_modules文件夹,但它是空的.我进入容器的bash和ls node_modules,所有包都在那里.

如何在计算机上获取容器上的内容呢?

谢谢

node.js docker docker-compose docker-volume

11
推荐指数
2
解决办法
7837
查看次数

为什么 docker 创建空的 node_modules 以及如何避免它?

有一些类似的问题,但他们没有回答为什么node_modulesdocker 在 repo 中创建空目录,即使 dockerfile 设置为在容器中保存 node_modules?

我很想知道为什么在主机上创建目录为空,假设纱线已经在容器内安装了包node_modules以及如何避免它。

## Dockerfile

FROM node:8.11.4-alpine
RUN apk update && apk add yarn
RUN yarn global add nodemon
WORKDIR /usr/app

COPY package.json yarn.lock /usr/app/
RUN yarn

EXPOSE 3000

Run Code Online (Sandbox Code Playgroud)
## docker-compose.yml

version: "3.2"

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    command: nodemon index.js
    volumes:
      - .:/usr/app
      - /usr/app/node_modules
    ports:
      - "3000:3000"

Run Code Online (Sandbox Code Playgroud)

node.js docker

8
推荐指数
1
解决办法
3647
查看次数

问题发生在node-sass和Docker上

我正在尝试将我的节点应用程序停靠.我当前的应用程序是一个带有postgresql的nodejs express服务器.ExpressJS使用node-sass-middleware来处理sass资产.当我在我的OSX机器上本地运行node和postgresql时,一切正常.当我尝试运行应用程序时,docker-compose我收到"丢失绑定错误"

这是我的Dockerfile:

FROM node:7.2.1
RUN apt-get update -qq && apt-get install -y build-essential
RUN apt-get install -y libpq-dev postgresql-client
ENV APP_HOME /my_app
RUN mkdir $APP_HOME
WORKDIR $APP_HOME
ADD package.json .
RUN npm install
RUN npm rebuild node-sass
ADD . .
CMD [ "npm", "start" ]
EXPOSE 3000
Run Code Online (Sandbox Code Playgroud)

这是我的docker-compose.yml档案:

version: '2'
services:
    db:
      image: postgres:9.6.1
      ports:
        - '5432:5432'
    web:
      build: . # use the Dockerfile next to this file
      volumes:
        - .:/my_app
      ports:
        - "3000:3000"
      depends_on: …
Run Code Online (Sandbox Code Playgroud)

sass node.js docker node-sass docker-compose

5
推荐指数
2
解决办法
9485
查看次数

Docker共享node_modules托管

我有一些我无法解决的情况。angular 5应用程序开发。复制package.json的docker文件,并在构建npm期间安装node_modules。而且我希望那些node_modules在主机上可见,以便开发人员可以在/ src文件夹上舒适地工作。应用程序从容器工作,但是在编码时我无法使用自动完成功能,因为模块不可用。

FROM node:10 as node
# FROM node:alpine as node
RUN mkdir -p /app
WORKDIR /app
COPY . /app/
RUN npm install -g @angular/cli@~6.0.3
# RUN yarn --pure-lockfile
# RUN yarn install --no-cache --frozen-lockfile --no-bin-links
RUN npm install
EXPOSE 4200
CMD ng serve --host 0.0.0.0 --disable-host-check --watch --poll 1000
Run Code Online (Sandbox Code Playgroud)

docker-compose.yaml

version: '3'

services:
  frontend-service:
    build: ./frontend
    volumes:
      - ./frontend:/app
      - /app/node_modules
    ports:
      - 4200:4200
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明 有什么提示吗?

node-modules dockerfile docker-compose docker-volume angular

5
推荐指数
0
解决办法
589
查看次数