DEVOPSLIB Telegram 16
Оптимизация 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
👍4



tgoop.com/devopslib/16
Create:
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

View MORE
Open in Telegram


Telegram News

Date: |

Hashtags are a fast way to find the correct information on social media. To put your content out there, be sure to add hashtags to each post. We have two intelligent tips to give you: It’s easy to create a Telegram channel via desktop app or mobile app (for Android and iOS): Hui said the time period and nature of some offences “overlapped” and thus their prison terms could be served concurrently. The judge ordered Ng to be jailed for a total of six years and six months. Add up to 50 administrators
from us


Telegram Библиотека девопса | DevOps, SRE, Sysadmin
FROM American