Docker простыми словами
6.31K subscribers
254 photos
30 videos
3 files
155 links
Сообщество по докеру.

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

Открыты к критике и ждем вашего фидбека.
@viktorreh @anothertechrock
Download Telegram
Forwarded from KazDevOps
🗣Внимание, конкурс!

Разыгрываем 7 ваучеров на обучение и сертификацию со скидкой 100% от The Linux Foundation, а также 7 доступов к видеокурсу Kubernetes: База от Slurm.

🟣 Каталог электронных курсов и сертификации

Ваучеры можно применить к любому:

— онлайн-курсу
— сертификационному экзамену (CKA, CKS, CKAD и другие — в комплекте!)
— или пакету (курс + сертификация)

🟣 Курс Kubernetes: База от Slurm.

Условия розыгрыша просты: 🔵 Подпишитесь на KazDevOps и жми кнопку "Учавствую!" под оригинальным постом в канале KazDevOps.

🚩 29 января подведем итоги и выберем 7 победителей. Каждый победитель получит ваучер + доступ к курсу от Slurm. Активировать ваучеры нужно до 07.01.2027. После этого у вас будет 1 год и 2 попытки, чтобы завершить обучение и сдать экзамен.

Go-go-go, и успехов!

@DevOpsKaz 😛
Please open Telegram to view this post
VIEW IN TELEGRAM
💩2👍1
Безопасность контейнеров

Автор:
Лиз Райс
Год издания:
2021

#devops #ru

Скачать книгу
🤔1
🖥 Sidekick — инструмент командной строки для быстрого развёртывания приложений на VPS.

💡 Sidekick позволяет настроить сервер, запустить контейнеры из Dockerfile с балансировкой нагрузки и автоматическим SSL, поддерживает деплой без простоев, управление доменами и интеграцию SOPS для защиты данных. Он позиционируется как альтернатива Fly.io, подходящая для самостоятельного хостинга проектов на VPS с Ubuntu, делая его более доступным и экономичным.

🔐 Лицензия: GPL-3.0

🖥 Github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Вопросы которые иногда могут за дать по dockery на любом собеседовании программиста или тестировщика:

Смотреть

Часть 2
👍5
Kubernetes для DevOps

Автор:
Джон Арундел
Год издания:
2020

#kubernetes #devops #ru

Скачать книгу
🐳 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🔥1
Программирование 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
🔥4
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
👏1
🐳 Полезный, но не банальный приём для 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 — достаточно перенести идею: собрать → очистить → упаковать минимально.
👍7
🐳 Ещё один короткий, но мощный приём для 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 или локальной разработке.
👍10