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
В этом видео мы расскажем, как оптимизировать образы 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:57 —
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
Привет, нетерпеливый админ!
Устал ждать загрузку системы? Автор показывает, как сократить время старта с 60+ секунд до 10! Реальный кейс на Debian 12.
📹 Что узнаешь (таймкоды):
00:00 — Введение
00:57 — Анализ проблем загрузки
02:57 —
systemd-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
Эй, борец с дисковым пространством!
Твои 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 почему-то не даёт простого решения. Рассказываю рабочий способ и показываю инструмент для анализа образов.
Извлекаем файл из образа
Скачиваем образ и создаём контейнер БЕЗ запуска:
Теперь копируем нужный файл:
Или выгружаем весь образ:
Dive — рентген для образов
Утилита показывает слои образа и что в каждом слое изменилось. Запускаем прямо в Docker:
Создаём alias для удобства:
Теперь просто:
Проверка раздутости образа
Вместо
Dive покажет:
- Размер каждого слоя
- Что добавилось/удалилось
- Efficiency Score образа
- Wasted Space (лишнее место)
💡 Фишка: встрой проверку в CI/CD — автоматически отлавливай неоптимальные образы.
Итог: Docker создан для изоляции, поэтому прямого доступа к файлам нет. Но способы есть — используй их правильно.
____________________
Дополнительный материал:
🧠 - Linux Essentials: Понимание относительных и абсолютных путей к файлам
🧠 - Открытие Rancher: Путешествие от Стартапа до Лидера в Контейнеризации
🧠 - Осваиваем Docker: Искусство Сборки Образов и Управления Сетью
#Linux_Mastery #docker #devops #containers #optimization
Привет, укротитель контейнеров!
Знакомая боль: нужен один файл из 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
Telegram
Linux Skill - Освой Linux c нуля до DevOps
🚀🐧 Linux Essentials: Понимание относительных и абсолютных путей к файлам! 🗂️🔍
Привет, исследователи Linux и мастера файловой системы! Сегодня мы разберемся в одной из фундаментальных концепций Linux - относительных и абсолютных путях к файлам. Это знание…
Привет, исследователи Linux и мастера файловой системы! Сегодня мы разберемся в одной из фундаментальных концепций Linux - относительных и абсолютных путях к файлам. Это знание…
👍15
💡 Systemd обещает быструю загрузку, но твоя система тормозит?
Привет, цифровой архитектор! 👋
Классика: сам демон работает быстро, но вынужден ждать ленивые юниты, которые создают "критическую цепочку" задержек. Покажу, как быстро найти виновника и устранить проблему с помощью двух команд.
1. 🔍 Кто виноват: Анализ времени запуска
Команда
Назначение: Быстрый поиск юнитов, которые стартуют медленнее всего.
2. ⛓️ Поиск узкого места: Критическая цепочка
Если юнит стартует быстро, но при этом висит в топе, значит, он кого-то ждет. Нам нужно увидеть цепочку зависимостей, которая создает задержку.
Назначение: Показывает, какой именно юнит или зависимость блокирует загрузку критических служб.
Частый пример:
3. 🛠️ Устраняем задержку через override
Чтобы «отвязать» Docker от медленной сети, используем правильный подход systemd — не трогаем оригинальный файл юнита, а создаем прокладку
Назначение: Переопределяем параметры
После этого не забудьте применить изменения:
Важно: Использование
💡 Вывод: Регулярное использование systemd-analyze позволяет держать под контролем стартовую производительность сервера и избегать фантомный задержек, которые съедают рабочее время.
#Linux #systemd #CLI #DevOps #Optimization
Привет, цифровой архитектор! 👋
Классика: сам демон работает быстро, но вынужден ждать ленивые юниты, которые создают "критическую цепочку" задержек. Покажу, как быстро найти виновника и устранить проблему с помощью двух команд.
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