Docker использует системный пакет Python

Docker использует системный пакет Python

Как мне предотвратить компиляцию pip av, если я python3-avустановил его через apt?

Я выполняю многоархитектурную сборку Docker с помощью Dockerfile, который выглядит следующим образом:

FROM python:3-bullseye
RUN apt-get update && apt-get install -y python3-av
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

Одно из требований ( auto-editor) требует av. На ARM64 он пытаетсясборка avиз исходного кода, что занимает более 10 минут. Как мне избежать pipустановки avзаново?

решение1

Насколько я понимаю, вы хотите сделать контрольную точку после первой установки, верно?

Вы можете разделить этот dockerfile на baseimage.dockerfile и installation.dockerfile.

Для baseimage.dockerfile

FROM python:3-bullseye RUN apt-get update && apt-get install -y python3-av

Затем вы строите с помощью docker build ./baseimage.dockerfile -t python-av-base

Это позволит вам создать контрольную точку.

Для файла installation.dockerfile запустите установку так, как вы ожидаете FROM python-av-base COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt

Связанный контент