Roe*_*oel 5 celery python-2.7 docker docker-compose
我对 docker 的了解非常有限,所以我来这里发布这个 celery Worker 服务不会以以下错误启动:
错误:对于 api_worker_1 无法启动服务工作线程:b'OCI 运行时创建失败:container_linux.go:348:启动容器进程导致“exec: \”worker\”:在 $PATH 中找不到可执行文件”:未知”
Docker文件
# web
FROM python:2.7
RUN apt-get update
RUN apt-get install -y swig
RUN apt-get install -y libssl1.0-dev
RUN pip install --upgrade pip
ADD . /app
WORKDIR /app
CMD ["python", "-u","app.py"]
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: '2'
services:
db:
image: postgres
restart: always
volumes:
- ./postgres-data:/var/lib/postgresql/data
ports:
- "5432:5432"
web:
restart: always
build: .
volumes:
- ./web:/data/web
- .:/app
command: python -u app.py
ports:
- "5000:5000"
rabbit:
hostname: rabbit
image: rabbitmq:latest
environment:
- RABBITMQ_DEFAULT_USER=guest
- RABBITMQ_DEFAULT_PASS=guest
ports:
- "5672:5672"
worker:
restart: always
build: .
volumes:
- .:/app
command: celery worker -B -l info -A app.tasks.celery
links:
- db
- rabbit
- web
depends_on:
- web
Run Code Online (Sandbox Code Playgroud)
查看工人服务:
worker:
restart: always
build: .
volumes:
- .:/app
command: celery worker -B -l info -A app.tasks.celery
Run Code Online (Sandbox Code Playgroud)
我没有使用/安装来自 docker 的 celery 。因为这是一个工人图像而不是芹菜图像。
这是与 Flask 应用程序一起运行的,并且最近正在运行。清理或删除图像和容器后。运行docker-compose build并docker-compose up产生
OCI 运行时创建失败:..
后来就报错了
更新
我更新了问题的标题,因为芹菜标题在这里具有误导性。DockerFile这是一个工人服务,上面没有。这是一项启动驻留在 上的 celery 工作程序的服务app/tasks/celery。
在 docker-compose 文件中,您为 和 指定了相同的构建上下文( build: .) 。您上面发布的内容正在用于构建图像和图像,并且显然没有安装在该图像中。webworkerDockerfilewebworkercelery
| 归档时间: |
|
| 查看次数: |
8868 次 |
| 最近记录: |