Docker простыми словами
6.33K subscribers
248 photos
29 videos
3 files
149 links
Сообщество по докеру.

Рассказываем про docker и его применение в программировании и тестировании.

Открыты к критике и ждем вашего фидбека.
@viktorreh @anothertechrock
Download Telegram
🐳 Docker tip — неочевидная, но мощная оптимизация

Если ты часто пересобираешь образы, разделяй слои по логике: зависимости — отдельно, код — отдельно.
Так 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
Docker без секретов

Автор: Сайбал Гош
Год издания: 2023

#docker #ru

Скачать книгу
🔥3🤔2👨‍💻1
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).

Наш докер чатик 🐬

#команды
2
Learn Docker in a Month of Lunches, 2nd Edition

Автор: Elton Stoneman
Год издания: 2025

#docker #en

Скачать книгу
🔥41🤔1
Big Data on Kubernetes

Автор: Neylson Crepalde
Год издания: 2024

#kubernetes #en

Скачать книгу
🤔2
🐳 Docker tip — как мгновенно уменьшить размер образа в 3–5 раз

Многие разработчики используют 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
Программирование Cloud Native

Автор: Иван Портянкин
Год издания: 2020

#docker #ru

Скачать книгу
Короткий, но реально полезный приём для работы с Docker 👇


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
🖥 Docker выпустил Sandboxes - можно запускать AI-агентов без присмотра и не бояться за систему

Теперь 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. Вводный курс

Автор: Шон П. Кейн
Год издания: 2024

#docker #ru

Скачать книгу
👍6🤔1
🖥 Как работают контейнеры

Полное практическое руководство по созданию контейнера похожего на 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 для лёгких и безопасных образов

Если нужно собрать бинарник и получить чистый минимальный образ, не таская за собой компиляторы и зависимости:


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

### ⚡️ Быстрое подключение к логам контейнера, даже после его остановки

Иногда контейнер уже завершился, а ты хочешь посмотреть, что именно пошло не так.
Обычно 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

Скачать книгу
🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
💡 Минималистичный инструмент, который визуализирует любые shell-команды в реальном времени.

Что внутри:
- Выполняет любые команды и сразу строит графики по их выводу.
- Следит за БД, CPU, сетью, очередями и деплой-скриптами.
- Отправляет алерты, если метрика выходит за пределы нормы.
- Настраивается через понятный YAML — пару строк, и ты уже видишь, как «дышит» система.
- Работает локально, без облаков и внешних зависимостей.

https://github.com/sqshq/sampler
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
🐳⚙️ Полезный совет по Docker + Linux

Хотите понять, почему диск внезапно забился, хотя контейнеры уже удалили?

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
🔥7👍3
GitOps Cookbook. Kubernetes
Automation in Practice

Автор:
Natale Vinto
Год издания: 2023

#git #kubernetes #en

Скачать книгу
🖥 Современная панель для мониторинга Docker-контейнеров в реальном времени

Что умеет:
- следит за локальными и удалёнными 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
Docker Deep Dive

Автор: Nigel Poulton
Год издания: 2024

#docker #en

Скачать книгу
🤔1