2

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

  • web/- 在端口 5000 上保存并运行 python 3 烧瓶 Web 服务器。使用 sqlite3。
  • worker/- 有一个index.js文件是队列的工作人员。Web 服务器使用 json API over port 与此队列交互9730。worker 使用 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.logworker/index.jsanddocker-compose up命令中没有打印它)。

然后我跑去boot2docker ip获取IP地址,当我访问它时,我得到一个Gateway timeout错误但在docker stderr上没有错误。

我一直在尝试进行一系列更改以使其以某种方式工作,但不能。我真的认为如果有人可以解释出了什么问题以及如何使我的设置正常工作会很有帮助。

4

1 回答 1

-2

使用命令 -d 在后台运行,因为工作人员最初开始工作并休眠

于 2020-04-07T21:05:38.250 回答