Как сократить размер python в образе Docker на основе Debian Java? - PullRequest
1 голос
/ 30 сентября 2019

Я пытаюсь уменьшить размер моего образа Docker, он должен иметь как python для утилит aws-cli, так и java для локального тестирования с использованием local-dynamicodb. Я попытался использовать альпийский образ с openjdk, но поскольку он использует musl вместо glibc, он не работает.

Мой образ в настоящее время имеет размер 870 МБ, большая часть которого будет пакетом python3, который я устанавливаю с помощью apt-get. Что я могу сделать, чтобы уменьшить его размер? Есть ли способ получить «тонкую» версию, например, предустановленную на Alpine / Debian?

Вот мой Dockerfile:

FROM openjdk:8u222-jre-slim-buster

RUN apt-get update && apt-get -y install curl gnupg2 && \
    curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
    echo "deb https://dl.yarnpkg.com/debian/ stable main" | 
    tee /etc/apt/sources.list.d/yarn.list && \
    apt update && apt-get install -y \
      groff \
      jq \
      nodejs \
      less \
      yarn \
      python3-dev \
      python3-pip && \
      pip3 install --upgrade pip awscli boto3 aws-sam-cli 

1 Ответ

3 голосов
/ 30 сентября 2019

Вы можете найти уменьшенные версии изображений Dothon Python на Dockerhub https://hub.docker.com/_/python

Однако я бы посоветовал сначала получить больше информации о том, что занимает пространство на вашем изображении: Не делайтене пытайтесь оптимизировать то, что вы не измерили.

В этом случае, исходя из личного опыта, я бы подумал, что часть Java занимает то, что занимает место.

Вы также можете очистить apt-после того, как вы закончите, используйте что-то вроде

apt-get remove --purge ${builds_deps} -y
apt-get clean
rm -rf -- /var/lib/apt/lists/*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...