🐳 Docker tip — неочевидная, но мощная оптимизация
Если ты часто пересобираешь образы, разделяй слои по логике: зависимости — отдельно, код — отдельно.
Так Docker сможет использовать кеш и не пересобирать всё с нуля при каждом изменении.
Например 👇
❌ Плохой Dockerfile:
Каждое изменение кода пересобирает и зависимости.
✅ Оптимальный вариант:
Теперь при изменении кода пересобирается только последний слой -время сборки сокращается в 5–10 раз, а CI становится мгновенным.
💡 Совет:
Добавь .dockerignore, чтобы не тащить в образ кеши, .git, логи и прочий мусор - это уменьшит размер и ускорит билд.
Если ты часто пересобираешь образы, разделяй слои по логике: зависимости — отдельно, код — отдельно.
Так Docker сможет использовать кеш и не пересобирать всё с нуля при каждом изменении.
Например 👇
❌ Плохой Dockerfile:
FROM python:3.11
COPY . /app
RUN pip install -r /app/requirements.txt
CMD ["python", "app.py"]
Каждое изменение кода пересобирает и зависимости.
✅ Оптимальный вариант:
FROM python:3.11
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]
Теперь при изменении кода пересобирается только последний слой -время сборки сокращается в 5–10 раз, а CI становится мгновенным.
💡 Совет:
Добавь .dockerignore, чтобы не тащить в образ кеши, .git, логи и прочий мусор - это уменьшит размер и ускорит билд.
👍9👏3
Start using Docker!
❓ What is docker?
➕ Docker is a platform that allows developers to package, deploy and run applications in isolated environments.
❓ What is a Docker image?
➕ A Docker image is a read only template that contains a set of instructions for creating a container that can run on the Docker platform.
❓ What is a docker container?
➕ A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.
❓ What is the difference between Docker image & Docker container?
➕ An image is a read only template with code and dependencies while a container is a running instance of an image that provides an isolated environment for an application to run.
❓ Where can Docker be used?
➕ Docker can be used to build and deploy applications in various environments including development, testing, staging and production(across different operating systems and cloud platforms).
Наш докер чатик 🐬
#команды
❓ What is docker?
➕ Docker is a platform that allows developers to package, deploy and run applications in isolated environments.
❓ What is a Docker image?
➕ A Docker image is a read only template that contains a set of instructions for creating a container that can run on the Docker platform.
❓ What is a docker container?
➕ A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.
❓ What is the difference between Docker image & Docker container?
➕ An image is a read only template with code and dependencies while a container is a running instance of an image that provides an isolated environment for an application to run.
❓ Where can Docker be used?
➕ Docker can be used to build and deploy applications in various environments including development, testing, staging and production(across different operating systems and cloud platforms).
Наш докер чатик 🐬
#команды
❤2
Learn Docker in a Month of Lunches, 2nd Edition
Автор: Elton Stoneman
Год издания: 2025
#docker #en
Скачать книгу
Автор: Elton Stoneman
Год издания: 2025
#docker #en
Скачать книгу
🔥4❤1🤔1
🐳 Docker tip — как мгновенно уменьшить размер образа в 3–5 раз
Многие разработчики используют
А ведь можно сделать то же самое в несколько раз легче, просто заменив базу.
💡 Пример:
📦 Разница:
- python:3.11 → ~1.2 GB
- python:3.11-slim → ~400 MB
- python:3.11-alpine → ~60 MB
Это не просто экономия места:
🚀 Образы скачиваются и деплоятся быстрее
💾 Меньше трафика и нагрузки в CI/CD
🔒 Меньше пакетов — меньше уязвимостей
Многие разработчики используют
FROM ubuntu или FROM python по умолчанию — и получают образы по 1–2 ГБ. А ведь можно сделать то же самое в несколько раз легче, просто заменив базу.
💡 Пример:
# Было
FROM python:3.11
# Стало
FROM python:3.11-slim
# или ещё меньше
FROM python:3.11-alpine
📦 Разница:
- python:3.11 → ~1.2 GB
- python:3.11-slim → ~400 MB
- python:3.11-alpine → ~60 MB
Это не просто экономия места:
🚀 Образы скачиваются и деплоятся быстрее
💾 Меньше трафика и нагрузки в CI/CD
🔒 Меньше пакетов — меньше уязвимостей
👍4
Короткий, но реально полезный приём для работы с Docker 👇
💡 Что делает:
📦 Зачем нужно:
Позволяет моментально войти в окружение Python (или любого другого образа) без Dockerfile, просто чтобы протестировать код, команду или библиотеку.
Рабочие файлы остаются на хосте, мусора — ноль.
🔥 Трюк работает с любыми образами:
docker run --rm -it -v $(pwd):/app -w /app python:3.11 bash
💡 Что делает:
--rm — контейнер удаляется сразу после выхода (чисто, без мусора)
-v $(pwd):/app — монтирует текущую папку внутрь контейнера
-w /app — задаёт рабочую директорию
python:3.11 — базовый образ
bash — запускает интерактивную оболочку
📦 Зачем нужно:
Позволяет моментально войти в окружение Python (или любого другого образа) без Dockerfile, просто чтобы протестировать код, команду или библиотеку.
Рабочие файлы остаются на хосте, мусора — ноль.
🔥 Трюк работает с любыми образами:
docker run --rm -it -v $(pwd):/src -w /src golang:1.22 bash
docker run --rm -it -v $(pwd):/app node:20 bash
🔥10
Теперь Claude Code, Codex CLI, Copilot и другие код-агенты можно запускать полностью автономно в изолированной среде, которая не тронет ваш компьютер.
Что это даёт:
Каждый агент работает в отдельной microVM - жёсткая изоляция от хоста
Можно ставить пакеты, менять конфиги, запускать сервисы, как в реальной системе
Агент может собирать и запускать Docker внутри sandbox, но без доступа к вашему Docker
Если агент «сломал всё», удалили sandbox и подняли новый за секунды
Есть контроль сети (allow/deny) для дополнительной безопасности
Зачем это нужно
Главная проблема с AI-агентами, им нужны права на выполнение кода, установку зависимостей и изменение окружения.
Docker Sandboxes решают это: можно дать агенту полную автономию без риска для машины и данных.
Фактически это шаг к Level-4 автономии код-агентов, когда они работают без постоянных подтверждений и вмешательства разработчика.
Если вы боялись запускать Claude/Codex «на волю», теперь есть безопасный способ.
https://www.docker.com/blog/docker-sandboxes-run-claude-code-and-other-coding-agents-unsupervised-but-safely/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Полное практическое руководство по созданию контейнера похожего на Docker с нуля с использованием только стандартных команд Linux
Автор подробно показывает как устроены файловые системы изоляция процессов циклы пространства имен и остальные механизмы которые делают контейнеры возможными
Это один из самых глубоких материалов по теме и он построен вокруг идеи обучения через реальную практику
Учитесь делая
Ссылка labs точка iximiuz точка com слеш tutorials слеш container filesystem from scratch
labs.iximiuz.com/tutorials/container-filesystem-from-scratch
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳 Полезный, но не банальный приём для Docker
Multi-stage build для лёгких и безопасных образов
Если нужно собрать бинарник и получить чистый минимальный образ, не таская за собой компиляторы и зависимости:
💡 Что это даёт
- На первом этапе (builder) ты собираешь приложение в полном окружении.
- На втором - получаешь только бинарник, никаких инструментов сборки.
- Образ становится в 10–20 раз меньше и гораздо безопаснее.
Идеально подходит для деплоя в Kubernetes, CI/CD и serverless-окружениях.
📦 Запуск
🔥 Работает не только для Go, но и для Python/Node — достаточно перенести идею: собрать → очистить → упаковать минимально.
Multi-stage build для лёгких и безопасных образов
Если нужно собрать бинарник и получить чистый минимальный образ, не таская за собой компиляторы и зависимости:
FROM golang:1.22 AS builder
WORKDIR /src
COPY . .
RUN go build -o app .
FROM gcr.io/distroless/base
COPY --from=builder /src/app /app
ENTRYPOINT ["/app"]
💡 Что это даёт
- На первом этапе (builder) ты собираешь приложение в полном окружении.
- На втором - получаешь только бинарник, никаких инструментов сборки.
- Образ становится в 10–20 раз меньше и гораздо безопаснее.
Идеально подходит для деплоя в Kubernetes, CI/CD и serverless-окружениях.
📦 Запуск
docker build -t myapp .
docker run --rm myapp
🔥 Работает не только для Go, но и для Python/Node — достаточно перенести идею: собрать → очистить → упаковать минимально.
👍6
🐳 Ещё один короткий, но мощный приём для Docker
### ⚡️ Быстрое подключение к логам контейнера, даже после его остановки
Иногда контейнер уже завершился, а ты хочешь посмотреть, что именно пошло не так.
Обычно
💡 Что делает
👉
👉 --latest — берёт последний;
👉 docker logs вытаскивает логи даже из “умершего” контейнера.
📋 Бонус:
Добавь алиас в ~/.bashrc, чтобы не писать длинную команду каждый раз:
Теперь просто пиши:
и сразу видишь логи последнего контейнера -идеально при отладке в CI или локальной разработке.
### ⚡️ Быстрое подключение к логам контейнера, даже после его остановки
Иногда контейнер уже завершился, а ты хочешь посмотреть, что именно пошло не так.
Обычно
docker logs работает только для активных контейнеров, но можно сделать так:
docker ps -a --filter "status=exited"
docker logs $(docker ps -aq --latest)
💡 Что делает
👉
docker ps -a - показывает все контейнеры, даже завершившиеся;👉 --latest — берёт последний;
👉 docker logs вытаскивает логи даже из “умершего” контейнера.
📋 Бонус:
Добавь алиас в ~/.bashrc, чтобы не писать длинную команду каждый раз:
alias dlog="docker logs \$(docker ps -aq --latest)"
Теперь просто пиши:
dlog
и сразу видишь логи последнего контейнера -идеально при отладке в CI или локальной разработке.
👍9
50 Kubernetes Concepts Every DevOps
Engineer Should Know
Автор: Michael Levan
Год издания: 2023
#devops #kubernetes #en
Скачать книгу
Engineer Should Know
Автор: Michael Levan
Год издания: 2023
#devops #kubernetes #en
Скачать книгу
🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Что внутри:
- Выполняет любые команды и сразу строит графики по их выводу.
- Следит за БД, CPU, сетью, очередями и деплой-скриптами.
- Отправляет алерты, если метрика выходит за пределы нормы.
- Настраивается через понятный YAML — пару строк, и ты уже видишь, как «дышит» система.
- Работает локально, без облаков и внешних зависимостей.
https://github.com/sqshq/sampler
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
🐳⚙️ Полезный совет по Docker + Linux
Хотите понять, почему диск внезапно забился, хотя контейнеры уже удалили?
Docker оставляет слои, образы и volume’ы, которые не исчезают автоматически. Поэтому чистка
Проверить, что именно занимает место:
А чтобы очистить весь мусор разом:
docker system prune -a --volumes
-
-
Но ⚠️ осторожно: удалится всё, что не используется сейчас контейнерами.
Если хотите safe-режим:
Ещё полезно смотреть, куда Docker пишет данные:
Это помогает находить runaway volume’ы и тяжелые слои.
Итог: следите за Docker storage, иначе однажды сервер скажет «No space left on device» 👀
Хотите понять, почему диск внезапно забился, хотя контейнеры уже удалили?
Docker оставляет слои, образы и volume’ы, которые не исчезают автоматически. Поэтому чистка
docker rm и docker rmi — это только часть работы.Проверить, что именно занимает место:
docker system df
А чтобы очистить весь мусор разом:
docker system prune -a --volumes
-
-a удалит неиспользуемые образы-
--volumes — ненужные volume’ыНо ⚠️ осторожно: удалится всё, что не используется сейчас контейнерами.
Если хотите safe-режим:
docker system prune
Ещё полезно смотреть, куда Docker пишет данные:
sudo du -h /var/lib/docker | sort -h | tail
Это помогает находить runaway volume’ы и тяжелые слои.
Итог: следите за Docker storage, иначе однажды сервер скажет «No space left on device» 👀
👍6🤔1
7 бесплатных ресурсов, чтобы прокачаться в Linux и DevOps 👇
1) Bash → blog.sysxplore.com
2) Linux → linuxopsys.com
3) AWS → explore.skillbuilder.aws
4) Azure → learn.microsoft.com
5) DevOps → edx.org/learn/devops
6) Docker → docker-curriculum.com
7) Kubernetes → kubernetes.io
Фундамент DevOps = Linux + Shell + облака + контейнеры + оркестрация.
Начни с базиса — дальше всё соберётся.
#linux #devops #cloud #docker #kubernetes
1) Bash → blog.sysxplore.com
2) Linux → linuxopsys.com
3) AWS → explore.skillbuilder.aws
4) Azure → learn.microsoft.com
5) DevOps → edx.org/learn/devops
6) Docker → docker-curriculum.com
7) Kubernetes → kubernetes.io
Фундамент DevOps = Linux + Shell + облака + контейнеры + оркестрация.
Начни с базиса — дальше всё соберётся.
#linux #devops #cloud #docker #kubernetes
edX
Online DevOps courses and programs | edX
Build in-demand DevOps skills in automation and CI/CD. Learn how to streamline software delivery with online courses on edX.
🔥7👍3
GitOps Cookbook. Kubernetes
Automation in Practice
Автор: Natale Vinto
Год издания: 2023
#git #kubernetes #en
Скачать книгу
Automation in Practice
Автор: Natale Vinto
Год издания: 2023
#git #kubernetes #en
Скачать книгу
Что умеет:
- следит за локальными и удалёнными Docker-хостами в одном окне
- умно перезапускает контейнеры с настраиваемой логикой повторов
- шлёт алерты в Telegram, Slack, Discord, Gotify и почту
- обновляет контейнеры по расписанию
- позволяет разворачивать Docker Run и Compose-пресеты прямо из UI
- показывает health-чеки и события в реальном времени
Github: https://github.com/darthnorse/dockmon
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1