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: |

End-to-end encryption is an important feature in messaging, as it's the first step in protecting users from surveillance. Among the requests, the Brazilian electoral Court wanted to know if they could obtain data on the origins of malicious content posted on the platform. According to the TSE, this would enable the authorities to track false content and identify the user responsible for publishing it in the first place. The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Telegram users themselves will be able to flag and report potentially false content. As the broader market downturn continues, yelling online has become the crypto trader’s latest coping mechanism after the rise of Goblintown Ethereum NFTs at the end of May and beginning of June, where holders made incoherent groaning sounds and role-played as urine-loving goblin creatures in late-night Twitter Spaces.
from us


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