172 похожих чатов

Как лучше в python организовать multi-stage build с минимизацией образа?

6 ответов

5 просмотров

https://habr.com/ru/company/wunderfund/blog/586778/

NB- Автор вопроса
NB- Автор вопроса
Максим Мартынов
Через wheel или virtualenv?

FROM python:3.9-slim as builder RUN apt-get update RUN apt-get install -y --no-install-recommends build-essential gcc libpcre3 mime-support libcairo2-dev libcairo2 libpangocairo-1.0-0 WORKDIR /app ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 COPY requirements.txt ./requirements.txt RUN pip wheel --no-cache-dir --no-deps --wheel-dir /app/wheels -r requirements.txt # copy project # COPY . . FROM python:3.9-slim WORKDIR /app COPY --from=builder /app/wheels /wheels COPY --from=builder /app/requirements.txt . COPY . . RUN set -ex \ && RUN_DEPS=" \ libcairo2 \ libpangocairo-1.0-0 \ " \ && BUILD_DEPS=" \ perl \ " \ && seq 1 8 | xargs -I{} mkdir -p /usr/share/man/man{} \ && apt-get update && apt-get install -y --no-install-recommends $RUN_DEPS \ && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $BUILD_DEPS \ && rm -rf /var/lib/apt/lists/* RUN pip install --no-cache /wheels/* CMD ["python3", "manage.py", "runserver", "0.0.0.0:8000"]

NB
FROM python:3.9-slim as builder RUN apt-get update...

ENV стоит добавить и в итоговый образ, особенно PYTHONUNBUFFERED

Похожие вопросы

Обсуждают сегодня

коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
75
Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
hi my MyAsus app has informed me of a new version of bios (version 300), i tried installing it but after this attempt it said: Update failed. Does anyone have any solution? My...
Sahand 🏔️
13
всем привет! у кого есть опыт подписания и нотаризации electron приложений для macos? такая проблема: использовал @electron/osx-sign и notaritool. процесс подписания и нотараз...
Артем Клементьев
11
@Dreamer_0x01 @helgispbru @Ambrion Разговор шёл об уязвимости. Меня беспокоит именно она. Все прочие вопросы, а равно и жизненная мудрость - пока в сторону :) Так вот сам ...
Андрей [aharito] Харитонов
9
why some site like google has separate page for username/email and password?
Mr Thieves
21
Может быть небольшое отступление, но я тут решил обратить внимание на то, сколько весит хелловорлд на с++... Зачем он весит почти 250 Кб? У меня оконное приложение на фасме ве...
The Bird of Hermes
14
Мне интересно, скорее людей здесь используют D, Rust, C/C++ для решения реальных прикладных задач за деньги?)
Evil Satanson
49
Тут кто-то шарит в мед оборудовании?
Benz
10
Карта сайта