Py学习  »  docker

节点,js在官方节点上找不到本地安装的模块。js docker图像[重复]

Tinstar71 • 3 年前 • 1706 次点击  

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

  • web/ -在端口5000上保存并运行python 3 flask web服务器。使用sqlite3。
  • worker/ -有一个 index.js 文件,它是队列的工作进程。web服务器通过端口使用json API与该队列交互 9730 worker/images/

现在这个问题只涉及 worker .

worker/Dockerfile

FROM node:0.12

WORKDIR /worker

COPY package.json /worker/
RUN npm install

COPY . /worker/

docker-compose.yml

redis:
    image: redis
worker:
    build: ./worker
    command: npm start
    ports:
        - "9730:9730"
    volumes:
        - worker/:/worker/
    links:
        - redis

当我跑的时候 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>

但当我这么做的时候 docker-compose up ,我看到了这个错误:

worker_1 | Error: Cannot find module 'async'
worker_1 |     at Function.Module._resolveFilename (module.js:336:15)
worker_1 |     at Function.Module._load (module.js:278:25)
worker_1 |     at Module.require (module.js:365:17)
worker_1 |     at require (module.js:384:17)
worker_1 |     at Object.<anonymous> (/worker/index.js:1:75)
worker_1 |     at Module._compile (module.js:460:26)
worker_1 |     at Object.Module._extensions..js (module.js:478:10)
worker_1 |     at Module.load (module.js:355:32)
worker_1 |     at Function.Module._load (module.js:310:12)
worker_1 |     at Function.Module.runMain (module.js:501:10)

事实证明,这些模块都不存在 /工作者/节点_模块 (主机上或容器中)。

如果是主持人,我 npm install ,然后一切正常。但我不想这么做。我希望容器处理依赖项。

这里怎么了?

(不用说,所有的包裹都在里面。) package.json .)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128013
 
1706 次点击  
文章 [ 18 ]  |  最新文章 3 年前