Python 3.8.5 docker alpine-CompileError:命令'gcc'失败,退出状态为1

问题描述

我正在Docker上运行Django和Postgres。只是试图将Celery添加到项目中,但我无法使其运行。

Dockerfile:

FROM python:3.8.5-alpine
ENV PYTHONUNBUFFERED 1

RUN apk update \
    # psycopg2 dependencies
    && apk add --virtual build-deps gcc python3-dev musl-dev \
    && apk add postgresql-dev \
    # Pillow dependencies
    && apk add jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev \
    # CFFI dependencies
    && apk add libffi-dev py-cffi \
    && apk add --no-cache openssl-dev libffi-dev

RUN mkdir /app
WORKDIR /app
COPY requirements.txt /app/
RUN pip install -r requirements.txt
COPY . /app/

docker-compose.yml:

version: '3'

volumes:
  local_postgres_data: {}

services:
  postgres:
    image: postgres
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
    volumes:
      - local_postgres_data:/var/lib/postgresql/data
    env_file:
      - ./.envs/.postgres

  django: &django
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/app/
    ports:
      - "8000:8000"
    depends_on:
      - postgres

  rabbitmq:
    image: rabbitmq:3.8.6

  celeryworker:
    <<: *django
    image: celeryworker
    restart: always
    depends_on:
      - rabbitmq
      - postgres
    ports: []
    command: celery -A pyrty worker -l INFO

  celerybeat:
    <<: *django
    image: celerybeat
    restart: always
    depends_on:
      - rabbitmq
      - postgres
    ports: []
    command: celery -A pyrty beat -l INFO

错误:

celerybeat_1    | [2020-08-16 17:12:54,206: WARNING/MainProcess] raise VerificationError('%s: %s' % (e.__class__.__name__,e))
celerybeat_1    | [2020-08-16 17:12:54,206: WARNING/MainProcess] cffi
celerybeat_1    | [2020-08-16 17:12:54,206: WARNING/MainProcess] .
celerybeat_1    | [2020-08-16 17:12:54,206: WARNING/MainProcess] VerificationError
celerybeat_1    | [2020-08-16 17:12:54,206: WARNING/MainProcess] :
celerybeat_1    | [2020-08-16 17:12:54,206: WARNING/MainProcess] CompileError: command 'gcc' failed with exit status 1

requirements.txt:

Django==3.1
psycopg2==2.8.3
djangorestframework==3.11.0
Celery==4.4.7
rabbitmq==0.2.0
Pillow==7.1.2
django-extensions==2.2.9

我确实运行了docker-compose build,但一切似乎都还不错,但是当我完成docker-compose run之后,我明白了。

芹菜工人和拍子都抛出相同的错误。让我知道是否需要整个跟踪。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)