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.js
和docker-compose up
命令不打印)。
所以然后我运行boot2docker ip
来获取IP地址,当我访问它,我得到一个Gateway timeout
错误,但没有错误的docker标准错误。
我一直在尝试一些变化,使其工作莫名其妙,但不能。 我真的认为,如果有人能够解释什么是错的,以及如何使我的设置工作,这将是有帮助的。