我目前正在使用 docker-compose 来使用一个 python 队列管理器 Celery 的实例。但是,当我扩展我的代码时,我希望能够使用 Google 的 OR-tools 包。但是,如果您使用的是 python-3.6:alpine,则必须从源代码安装 OR-tools(如此处所述:pip install ortools: No matching distribution - Alpine)。我曾尝试使用非高山版本的 python,但后来我遇到了 Celery 的问题,所以我认为从源代码安装是前进的方向。
我对使用 Docker 比较陌生,所以我很难做到这一点。只需将RUN git clone -b master https://github.com/google/or-tools此处提到的其余命令添加到 Dockerfile 中:https ://developers.google.com/optimization/install/python/source_linux不起作用。它说 git 不是命令,但如果我尝试使用RUN sudo apt install git它安装它,它会告诉我 sudo 不是命令。
我是否需要在我的 dockerfile 中添加另一个部分,例如:
FROM: ubuntu
RUN git clone -b master https://github.com/google/or-tools
如果是这样,这样做的正确方法是什么,并确保它链接到我的 Dockerfile 的另一部分,以便我可以在 python 代码中使用 OR-tools?
码头文件:
FROM python:3.6-alpine
ENV CELERY_BROKER_URL redis://redis:6379/0
ENV CELERY_RESULT_BACKEND redis://redis:6379/0
ENV C_FORCE_ROOT true
WORKDIR /usr/src/app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD celery -A celeryExample worker --concurrency=1 --loglevel=info
码头工人组成:
version: '3'
services:
redis:
image: redis
ports:
- 6379:6379
celery:
build:
context: .
dockerfile: Dockerfile.celery
depends_on:
- redis
volumes:
- .:/usr/src/app
要求:
celery
redis
requests
素胚勾勒不出你
呼唤远方
相关分类