Flask web应用程序,Node.js(队列)worker。 不能使docker工作

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

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

现在我正在尝试使用docker和docker-compose来完成所有这些工作。 作为一个新手,我很挣扎。

web/Dockerfile

 FROM python:3.4-slim RUN apt-get update RUN apt-get install -y sqlite3 libsqlite3-dev imagemagick COPY . /web WORKDIR /web RUN pip install -r requirements.txt 

worker/Dockerfile

 FROM dockerfile/nodejs COPY . /worker WORKDIR /worker RUN npm install 

docker-compose.yml

 redis: image: redis:latest worker: build: ./worker ports: - "9730:9730" links: - "redis:redis" command: npm start web: build: ./web ports: - "80:5000" links: - "worker:worker" command: python app.py 

docker-compose build工程,并执行一切都很好。

现在这启动redis服务器和瓶服务器,但不启动工人(我知道这是因为我console.log在我的worker/index.jsdocker-compose up命令不打印)。

所以然后我运行boot2docker ip来获取IP地址,当我访问它,我得到一个Gateway timeout错误,但没有错误的docker标准错误。

我一直在尝试一些变化,使其工作莫名其妙,但不能。 我真的认为,如果有人能够解释什么是错的,以及如何使我的设置工作,这将是有帮助的。