/bin/sh: 1: apk: не найден, при сборке образа docker

Я пытаюсь создать и запустить образ djanog с помощью docker, чтобы развернуть его вместе с kubernetes, но когда я запускаю команду сборки образа, она выдает ошибку "/bin/sh: 1: apk: not found "

Dockerfile:

FROM python:3.8-slim
LABEL maintainer="r.ofc@hotmail.com"

ENV PROJECT_ROOT /app
WORKDIR $PROJECT_ROOT

RUN apk update \
    && apk add mariadb-dev \
        gcc\
        python3-dev \
        pango-dev \
        cairo-dev \
        libtool \
        linux-headers \
        musl-dev \
        libffi-dev \
        openssl-dev \
        jpeg-dev \
        zlib-dev
        
RUN pip install --upgrade pip
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .

CMD python manage.py runserver 0.0.0.0:8000

может ли кто-нибудь помочь мне?

python:3.8-slim основан на Debian, который использует менеджер пакетов apt, а не apk.

Вы можете изменить версию изображения:

FROM python:3.8-alpine

и все должно работать нормально.

Другим решением является сохранение образа python:3.8-slim, но переход на apt:

RUN apt update \
    && apt install -y libmariadb-dev \
        gcc\
        python3-dev \
        libcogl-pango-dev \
        libcairo2-dev \
        libtool \
        linux-headers-amd64 \
        musl-dev \
        libffi-dev \
        libssl-dev \
        libjpeg-dev \
        zlib1g-dev

Я обновил названия пакетов, потому что в Debian они не совпадают.

Вернуться на верх