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

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

РКН https://vk.cc/cMUwm4
Download Telegram
🔥 20 Docker-команд = 90% всех задач. Проверено!

Эй, контейнерный кудесник!

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

🚀 Быстрый старт:
# Установка одной строкой
curl -o - https://get.docker.com | bash -


📦 Управление контейнерами:

Запуск с автостартом:
docker run -d -p 80:80 --restart always --name nginx-proxy nginx


Просмотр контейнеров:
docker ps          # запущенные
docker ps -a # все


Удаление:
docker rm nginx-proxy      # остановленный
docker rm -f nginx-proxy # принудительно


Массовые операции:
# Остановить все
docker stop $(docker ps -a -q)
# Удалить все
docker rm $(docker ps -a -q)


🖼️ Работа с образами:
docker images                      # список
docker rmi nginx # удалить один
docker rmi $(docker images -a -q) # удалить все


🔍 Отладка и мониторинг:

Войти в контейнер:
docker exec -it nginx-proxy bash


Логи:
docker logs nginx-proxy         # все логи
docker logs -n 100 nginx-proxy # последние 100 строк
docker logs -f nginx-proxy # следить в реальном времени


Мониторинг ресурсов:
docker stats nginx-proxy
docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"


Процессы в контейнере:
docker top nginx-proxy


🛠️ Продвинутые команды:

Детальная информация:
docker inspect nginx-proxy
docker inspect -f '{{ .NetworkSettings.Networks.bridge.IPAddress }}' nginx-proxy
docker inspect --format '{{json .Mounts}}' grafana | jq .


Управление местом:
docker system df      # занятое место
docker system prune # очистка


Копирование файлов:
# Из контейнера
docker cp nginx-proxy:/etc/nginx/nginx.conf ~/nginx
# В контейнер
docker cp ~/nginx/nginx.conf nginx-proxy:/etc/nginx


Экспорт контейнера:
docker export nginx-proxy -o ~/nginx-proxy.tar.gz


📚 Бонус — полезные темы:
🔧 Инструменты: Portainer, ctop, cdebug
🛡️ Безопасность: Trivy, Dockle, CIS рекомендации
📊 Мониторинг: Zabbix, Prometheus
🗃️ Бэкапы: docker-volume-backup

Теперь у тебя есть всё для работы с Docker. Эти команды покрывают 90% повседневных задач!
____________________

Дополнительный материал:
🧠 - Открытый мир Linux: Сокровищница инструментов для системных администраторов
🧠 - Стартуйте в IT с Бесплатным курсом по Linux: от Нуля до DevOps
🧠 - От /etc/passwd к централизованному управлению: Как Linux трансформировал учетные записи

#Linux_Mastery #docker #DevOps #containers #Linux #подборка #automation
👍12
🐳 Почему ты не можешь просто скопировать файл из 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
📉 Ubuntu весит 100МБ, а Alpine — 5МБ. Почувствуй разницу

Привет, $(whoami)! 👋

Твои Docker-образы занимают сотни мегабайт, а деплой длится вечность? Часто проблема в том, что ты используешь «тяжелые» базовые образы, в которых куча ненужного софта (6 разных оболочек, 3 пакетных менеджера и т.д.).

Для продакшена и микросервисов идеально подходит Alpine Linux. Это минималистичный дистрибутив, который весит всего около 5 МБ. Меньше размер — быстрее скачивание, меньше уязвимостей и выше скорость запуска.

📌 Пример минимального Dockerfile:

FROM alpine:latest
# copy all of the files in this project into the Docker image
RUN mkdir public-app/
ADD . public-app/
WORKDIR public-app


Что здесь происходит:
FROM alpine:latest — берем легкую базу.
Создаем папку и копируем туда проект.
Назначаем рабочую директорию.

💡 Совет:
Используй Alpine, когда тебе нужно запустить одно конкретное приложение или сервис. Если в образе нет лишних утилит, их не смогут использовать злоумышленники, что уменьшает поверхность атаки.

#Docker #DevOps #Alpine #Containers #Optimization
👍10👎2
🍖 Мясо по Docker: 8 гайдов из наших архивов

Устал искать по всему каналу нужный гайд по контейнерам? Сейчас разложим всё по полочкам.

* Энциклопедия Docker: 10 лучших практик для production
* Секреты Pro-Docker: 4 хака, которые сделают твои образы в 5 раз меньше
* Как Создать Идеальный Dockerfile: Секреты Эффективности и Лаконичности!
* Эта команда Docker даёт хакеру права root на хосте
* Как мониторить ресурсы Docker-контейнеров с помощью cgroups
* Почему ты не можешь просто скопировать файл из Docker образа
* Docker Swarm & GitLab: Ускоряем Деплой Проектов с Шифрованием Секретов!
* MeTube: yt-dlp без TG-очередей — Docker за 1 команду

Теперь у тебя под рукой полный боекомплект для работы с контейнерами. Сохраняй, чтобы не потерять, и пересылай коллегам, которые до сих пор запускают всё от рута!

❗️❗️❗️ Нравится формат? Ставь 👍

👉 Рубрика: #SkillHunter@LinuxSkill

#Docker #DevOps #Containers #Security #SysAdmin #LinuxSkill
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14