Образ Docker меньшего размера имеет множество преимуществ, например, он будет загружаться быстрее, когда вы развертываете свое приложение в новом месте или развертываете обновленный образ в существующих приложениях. Возможность быстро обновлять изображения очень важна. Кроме того, для правильной работы и отзывчивости контейнеров важно содержать изображения в чистоте и не раздувать их. Читайте дальше, чтобы узнать, как я уменьшил свой образ докера с 1,04 ГБ до 555 МБ.

Я начал со слишком большим количеством пакетов

С учетом сказанного я начал с очень раздутого базового образа Ubuntu 18.04 для моего основного образа докера. Этот образ содержал много пакетов отладки, и пакеты, которые я просто больше не использовал. Это привело к тому, что размер встроенного образа составил 1,04 ГБ, что довольно много, особенно для одного компонента в сети служб. Я заметил множество процессов, которые со временем либо замедлялись, либо работали медленнее, чем я ожидал.

Итак, в моих поисках в Интернете способов повышения производительности я нашел три простых решения, которые я мог бы применить сразу же, и эти решения уменьшили размер изображения на 55%. Это были:

Использование меньшего базового изображения

Используйте базовый образ меньшего размера, чем полный образ ubuntu:18.04. Поскольку Ubuntu в значительной степени основан на Debian, я подумал, что логичным выбором было бы использовать debian:9.7. Одно только это изменение уменьшило размер изображения до 860 МБ. Это уже было огромным сокращением, но я еще не был удовлетворен. При изменении этого параметра на debian:9.7-slim размер образа стал 600 МБ, что стало еще одним огромным сокращением.

Очистите свои установки

Вторым решением проблемы было просто удалить все временные файлы с помощью команды apt-get install. Это уменьшило размер изображения, но ненамного, это сэкономило мне около 20 МБ, поэтому размер теперь был 580 МБ. Чтобы воспользоваться этим преимуществом, добавьте указанные ниже команды в каждую команду apt-get install, и это избавит вас от всех временных файлов.

apt-get clean && rm -rf /var/lib/apt/lists/\* /tmp/\* /var/tmp/*

Не устанавливайте рекомендуемые пакеты

Ваша операционная система любит делать установку пакетов очень простой, но установка всех рекомендуемых пакетов, необходимых ей, выполняется без проблем, в том числе в образе докера. Вы можете отключить это, и вы действительно должны. Если добавить флаг — no-install-recommends к командам apt-get install, будет установить необходимый минимум для работы. Это означает, что вам, возможно, придется установить несколько пакетов вручную, но вы избавитесь от множества вредоносных программ. Это уменьшило размер моего изображения до его окончательных 555 МБ.

Есть ли у вас еще какие-нибудь советы по дальнейшему уменьшению образов докеров? Обязательно свяжитесь со мной в Твиттере! Я всегда могу воспользоваться советом по этим вопросам, так как я все еще узнаю что-то новое каждый божий день.

Опубликовано: 28 февраля 2019 г.

Первоначально опубликовано на roelofjanelsinga.com.