Linux Skill - Освой Linux c нуля до DevOps
11.3K subscribers
56 photos
100 videos
481 links
Освой Linux c нуля до DevOps
Подробный гайд по Linux и море других уроков для системных администраторов

📩 По всем вопросам: @chorapov

РКН https://vk.cc/cMUwm4
Download Telegram
Media is too big
VIEW IN TELEGRAM
🎥 Как уменьшить размер образа Docker: от 1,2 ГБ до 10 МБ

В этом видео мы расскажем, как оптимизировать образы Docker, чтобы сократить их размер и повысить эффективность. Узнай, как это влияет на стоимость хранения, сроки развертывания и безопасность.

1. Введение и важность уменьшения размера (00:00):
- Уменьшение размера образа Docker с 1,2 ГБ до 10 МБ.
- Советы применимы к любым образам Docker.

2. Выбор базового изображения (00:15):
- Использование образа Alpine для сокращения размера.
- Alpine содержит только необходимые компоненты для запуска приложений.

3. Кэширование слоев (01:40):
- Кэширование слоев для ускорения сборки.
- Оптимизация файла Docker для использования кэширования.

4. Удаление ненужных файлов (03:05):
- Использование Docker Ignore для удаления ненужных файлов.
- Важность очистки кэша и удаления временных файлов.

5. Многоэтапная сборка (05:27):
- Использование многоэтапной сборки для оптимизации размера образа.
- Пример с разделением процесса сборки на этапы.

6. Инструменты для оптимизации Docker (06:26):
- Использование инструментов, таких как Dive и Slim, для оптимизации и отладки сборок.
- Slim позволяет уменьшить размер образа до 30 раз.

Оптимизация образов Docker — это ключ к эффективному управлению ресурсами и повышению безопасности. Применяйте эти советы и инструменты, чтобы улучшить свои Docker-сборки!

📩 Завтра: Когда нужно оборачивать переменные в кавычки в shell скрипте?
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Не трать время на распаковку! Вот как Zcat покажет всё на лету!
🧠 - Ускоряем загрузку Linux: Разбираемся с systemd-analyze
🧠 - Как использовать команду awk в Linux: обработка текста в пару команд

#Linux_youtube @LinuxSkill #Docker #Optimization #SysAdmin #DevOps
👍12🔥1
Media is too big
VIEW IN TELEGRAM
Linux грузится минуту? Ускоряем до 10 секунд!

Привет, нетерпеливый админ!

Устал ждать загрузку системы? Автор показывает, как сократить время старта с 60+ секунд до 10! Реальный кейс на Debian 12.

📹 Что узнаешь (таймкоды):

00:00 — Введение
00:57 — Анализ проблем загрузки
02:57systemd-analyze в действии
03:55 — Находим самые медленные службы
04:50 — Оптимизация монтирования разделов
06:47 — Отключаем ненужные службы
08:45 — Решаем проблему с ядром и swap
12:38 — Обновление системы
14:37 — Работа с NTFS разделами
18:31 — Результаты: с 37 до 6 секунд!
21:28 — Графический анализ загрузки

Смотри видео и ускоряй свою систему прямо сейчас!

🌐 Источник: https://youtu.be/sLZ8kYfp2lQ

#Linux_youtube #systemd #optimization #boot #Linux #performance #video
👍18🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
💥 Docker образ весит гигабайт? Уменьшаем в 100 раз!

Эй, борец с дисковым пространством!

Твои Docker образы раздулись до неприличных размеров? Автор показывает, как с помощью multistage building сжать образ с сотен мегабайт до 8MB!

📹 План оптимизации (таймкоды):

00:00 — Проблема больших образов
00:56 — Что такое multistage building
01:48 — Копируем только нужное
02:53 — Alpine Linux — секретное оружие
03:13 — Собираем и тестируем
03:43 — Результат: 8MB вместо гигабайта!
04:38 — Требования и итоги

💡 Почему работает:
- Этап 1 — компиляция с полным SDK
- Этап 2 — только бинарник в Alpine
- Весь компилятор остаётся в промежуточном слое
- Финальный образ содержит только необходимое

🚀 Результат:
- Было: образ с компилятором, библиотеками, исходниками
- Стало: Alpine + один бинарник = 8MB

📝 Требования:
Docker версии 17.05 и выше

Теперь твои образы летают, а registry не плачет!

🌐 Источник: YouTube
____________________

Дополнительный материал:
🧠 - Увеличение времени кэширования пароля в sudo: Пошаговое руководство
🧠 - Настройка индивидуальных конфигураций для пользователей sudo: Пошаговое руководство
🧠 - Защитите свои данные в Linux: Основы разрешений файлов

#Linux_youtube #docker #optimization #multistage #alpine #devops #video
👍10🔥1
🐳 Почему ты не можешь просто скопировать файл из Docker образа

Привет, укротитель контейнеров!

Знакомая боль: нужен один файл из Docker образа, но запускать контейнер не хочется. Docker почему-то не даёт простого решения. Рассказываю рабочий способ и показываю инструмент для анализа образов.

Извлекаем файл из образа

Скачиваем образ и создаём контейнер БЕЗ запуска:
# docker pull nginx:latest
# docker create --name nginx nginx:latest


Теперь копируем нужный файл:
# docker cp nginx:/docker-entrypoint.d/30-tune-worker-processes.sh ~/


Или выгружаем весь образ:
# docker export nginx -o ~/nginx-docker.tar.gz


Dive — рентген для образов

Утилита показывает слои образа и что в каждом слое изменилось. Запускаем прямо в Docker:

# docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock \
wagoodman/dive nginx:latest


Создаём alias для удобства:
alias dive="docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"


Теперь просто:
# dive nginx:latest


Проверка раздутости образа

Вместо docker build используй dive build — получишь анализ эффективности сборки:
# dive build -t myapp:latest .


Dive покажет:
- Размер каждого слоя
- Что добавилось/удалилось
- Efficiency Score образа
- Wasted Space (лишнее место)

💡 Фишка: встрой проверку в CI/CD — автоматически отлавливай неоптимальные образы.

Итог: Docker создан для изоляции, поэтому прямого доступа к файлам нет. Но способы есть — используй их правильно.
____________________

Дополнительный материал:
🧠 - Linux Essentials: Понимание относительных и абсолютных путей к файлам
🧠 - Открытие Rancher: Путешествие от Стартапа до Лидера в Контейнеризации
🧠 - Осваиваем Docker: Искусство Сборки Образов и Управления Сетью

#Linux_Mastery #docker #devops #containers #optimization
👍15
💡 Systemd обещает быструю загрузку, но твоя система тормозит?

Привет, цифровой архитектор! 👋

Классика: сам демон работает быстро, но вынужден ждать ленивые юниты, которые создают "критическую цепочку" задержек. Покажу, как быстро найти виновника и устранить проблему с помощью двух команд.

1. 🔍 Кто виноват: Анализ времени запуска

Команда systemd-analyze blame покажет точное время, которое каждый юнит потратил на запуск, сортируя их по убыванию.


# Выводит список юнитов, отсортированный по времени запуска
systemd-analyze blame

Назначение: Быстрый поиск юнитов, которые стартуют медленнее всего.

2. ⛓️ Поиск узкого места: Критическая цепочка

Если юнит стартует быстро, но при этом висит в топе, значит, он кого-то ждет. Нам нужно увидеть цепочку зависимостей, которая создает задержку.


# Анализ цепочки зависимостей, которая замедляет запуск системы
systemd-analyze critical-chain

Назначение: Показывает, какой именно юнит или зависимость блокирует загрузку критических служб.

Частый пример: docker.service ждет поднятия сети (systemd-networkd-wait-online.service). Это бессмысленно, если у Docker нет жесткой зависимости от сети на старте.

3. 🛠️ Устраняем задержку через override

Чтобы «отвязать» Docker от медленной сети, используем правильный подход systemd — не трогаем оригинальный файл юнита, а создаем прокладку override.conf:


# Открыть редактор для создания override.conf
sudo systemctl edit docker.service

# В открывшийся файл вставьте:
[Unit]
After=network.target
Wants=network.target

Назначение: Переопределяем параметры After и Wants, чтобы Docker не ждал некритичные сетевые службы.

После этого не забудьте применить изменения:


# Применить изменения
sudo systemctl daemon-reload
sudo systemctl restart docker


Важно: Использование systemctl edit создает отдельный файл, который не будет перезаписан при обновлении пакета Docker.

💡 Вывод: Регулярное использование systemd-analyze позволяет держать под контролем стартовую производительность сервера и избегать фантомный задержек, которые съедают рабочее время.

#Linux #systemd #CLI #DevOps #Optimization
👍12🔥1