tgoop.com/devopslib/16
Create:
Last Update:
Last Update:
Оптимизация Docker-образов: 5 правил для DevOps
Docker — это мощный инструмент, но неоптимизированные образы могут съедать ресурсы и замедлять деплой. Вот несколько правил, которые помогут уменьшить размер контейнеров и ускорить их работу.
🚀 1. Используйте lightweight базовые образы
Выбирайте alpine, distroless или scratch вместо тяжелых ubuntu и debian. Это сэкономит сотни мегабайт.
🔄 2. Минимизируйте количество слоев
Объединяйте команды в RUN, чтобы не создавать лишние слои:
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
📂 3. Очищайте ненужные файлы
Удаляйте временные файлы после установки пакетов, чтобы не раздувать образ.
🛠 4. Используйте multistage builds
Собирайте приложение в одном этапе, а деплойте только финальный артефакт:
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
FROM alpine:latest
WORKDIR /root/
COPY --from=builder /app/myapp .
CMD ["./myapp"]
🔒 5. Минимизируйте привилегии
Запускайте контейнеры от непривилегированного пользователя:
RUN adduser -D myuser
USER myuser
Применяйте эти практики, и ваши контейнеры станут легче, безопаснее и быстрее.
Подпишись 👉 @devopslib
BY Библиотека девопса | DevOps, SRE, Sysadmin
Share with your friend now:
tgoop.com/devopslib/16
