и посмотреть медиа
DevOps - вопросы собесов
и посмотреть медиа
Собесы DevOps.
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Вопросы для собеседований по DevOps.
🤔 Как оптимизировать имедж? Оптимизация Docker-имеджа (или другого контейнерного имеджа) необходима для уменьшения его размера, ускорения сборки, повышения безопасности и повышения производительности контейнеров. 🟠Используйте минимальную базовую ОС Почему: Базовый образ сильно влияет на размер. Например, alpine занимает ~5 МБ, в то время как ubuntu или debian могут превышать сотни мегабайт. Как: Замените базовый образ: FROM alpine:latest 🟠Удаляйте ненужные файлы Почему: Временные файлы, кэш или артефакты сборки занимают место. Как: Добавьте команды для очистки временных данных: RUN apt-get update && apt-get install -y curl \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* 🟠Используйте многоэтапную сборку (multi-stage builds) Почему: Стадия сборки может содержать инструменты, которые не нужны в финальном образе. Как # Стадия сборки FROM golang:1.20 as builder WORKDIR /app COPY . . RUN go build -o app . # Финальный образ FROM alpine:latest WORKDIR /app COPY --from=builder /app/app . CMD ["./app"] 🟠Минимизируйте количество слоёв Почему: Каждый RUN, COPY, ADD создаёт новый слой. Слишком много слоёв увеличивают размер образа. Как: Объединяйте команды: RUN apt-get update && apt-get install -y curl wget \ && apt-get clean && rm -rf /var/lib/apt/lists/* 🟠Не сохраняйте секреты Почему: Переменные окружения с паролями или токенами могут быть случайно унаследованы. Как: Используйте Docker secrets или .env-файлы и исключайте их из COPY ENV APP_ENV=production 🟠Кэшируйте зависимости Почему: Частое скачивание зависимостей замедляет сборку. Как: Переносите команды загрузки зависимостей ближе к началу: COPY go.mod go.sum ./ RUN go mod download 🟠Проверяйте зависимости Почему: Устаревшие или ненужные зависимости увеличивают размер и могут содержать уязвимости. Как: Используйте сканеры вроде Trivy или Docker Scan для анализа. trivy image myimage:latest 🚩Пример полного Dockerfile # 1. Используем минимальный базовый образ FROM node:20-alpine as builder # 2. Устанавливаем зависимости WORKDIR /app COPY package*.json ./ RUN npm install # 3. Копируем код COPY . . # 4. Собираем проект RUN npm run build # Финальный минимальный образ FROM nginx:alpine COPY --from=builder /app/build /usr/share/nginx/html CMD ["nginx", "-g", "daemon off;"] Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!