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

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

Открыты к критике и ждем вашего фидбека.
@viktorreh @anothertechrock
Download Telegram
Docker-совет для миграции

Не переносите контейнер через docker save как единственный способ. Так вы сохраните image, но потеряете важное:

- volumes
- env-переменные
- networks
- ports
- restart policy
- bind mounts

Лучше сначала восстановить docker-compose.yml из уже запущенного контейнера:


docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/red5d/docker-autocompose \
container_name


Потом на новом сервере запускаете уже нормально:


docker compose up -d


А данные из volume переносите отдельно через tar.

Мигрировать нужно не контейнер, а всё состояние запуска. Image можно скачать заново, а вот volumes, env и настройки запуска - именно там обычно ломается прод.
👍17
Linux умеет запускать программы в почти контейнерной изоляции вообще без Docker.

За это отвечает `unshare`.

Команда создает для процесса отдельные namespace: свой список процессов, свой mount-view, hostname, IPC, network и user namespace. В итоге программа видит не всю систему, а только ограниченный «кусок» окружения.

Пример:


sudo unshare --pid --fork --mount --uts --ipc --net --user --map-root-user --mount-proc bash


Внутри новой shell можно выполнить:


ps aux


И вместо сотен процессов увидеть почти пустую систему: bash с PID 1 и сам ps.

Это не Docker, не container runtime и не магия. Это базовый механизм ядра Linux, на котором контейнеры во многом и построены.

Полезно знать, если хотите понимать контейнеры не как «черный ящик», а на уровне того, что реально делает kernel.
🔥20💯21
Как настроить Docker для автоматизированного тестирования

#читать #docker

Docker позволяет эффективно автоматизировать тестирование программного обеспечения, создавая виртуализированные среды с помощью контейнеров и интегрируя их с Selenium для параллельного выполнения тестов в разных браузерах.

Читать далее
👍101
3 сайта, которые помогают создать, проверить или улучшить резюме и пройти ATS фильтр.

1. UpdateCV.me
Сервис для создания и улучшения IT-резюме, анализа его структуры и ATS-совместимости, сравнения с конкретной вакансией и адаптации под требования работодателя.
Можно загрузить готовое резюме или создать новое с помощью ИИ. Рекомендации только по делу в формате было-стало, пользователь сам решает, какие изменения принять.

2. NETWRK
Позволяет создать резюме с нуля, провести автоматический анализ, улучшить формулировки, адаптировать резюме под вакансию и подготовить сопроводительное письмо.

3. Сопровод
Помогает сравнить резюме с вакансией, найти недостающие навыки, адаптировать содержание и создать сопроводительное письмо для конкретного отклика.
Также есть трекер отправленных откликов.

#резюме #поискработы #карьера #hr
👏3🤩2💩2
🐳 Docker полностью переписала слой виртуализации Docker Desktop

Новый Docker VMM вышел в public beta для macOS и Windows начиная с Docker Desktop 4.86. Раньше Desktop полагался на сторонний VMM, теперь Docker контролирует весь стек и может оптимизировать его именно под контейнерные нагрузки.

Что обещают на практике: более быстрый запуск контейнеров, заметно ускоренный file I/O между host и контейнером, возврат неиспользуемой RAM системе и более стабильную работу на Windows.

На Windows Docker отдельно заявляет сочетание изоляции уровня Hyper-V со скоростью, близкой к WSL2. Тот же движок уже используется в Docker Sandboxes, а дальше компания хочет построить единый runtime для ноутбуков, облака, on-prem и AI-агентов.

GA планируется на конец октября 2026 года, после чего Docker VMM должен стать движком по умолчанию для новых установок Docker Desktop на Mac, Windows и Linux.

https://www.docker.com/blog/docker-vmm-public-beta/
🔥8🤔5
🐳 Docker выпустила Sandboxes - изолированные среды специально для AI coding agents.

Идея простая: дать агентам вроде Claude Code, Codex, Gemini CLI, Copilot CLI, OpenCode и Kiro больше свободы, но не давать им свободно ломать хост-систему.

Каждый агент запускается в отдельной microVM и получает только рабочую директорию проекта. Внутри он может:

- устанавливать пакеты;
- менять конфиги;
- запускать сервисы;
- поднимать собственные Docker-контейнеры;
- выполнять долгие задачи без постоянного подтверждения действий.

При этом Docker позволяет отдельно контролировать filesystem, network и credentials, а сам sandbox после работы можно просто удалить.

Это инфраструктурный слой для эпохи автономных coding agents: агенту дают почти полный контроль внутри песочницы, но хост остаётся изолированным.

https://www.docker.com/products/docker-sandboxes/

#Docker #AI #AIAgents #DevOps #Programming
👍11🤡2
🤯 Ошибка уже произошла. В логах — сотни строк, причин может быть несколько, а исправление ещё нужно проверить. Расследование инцидента легко превращается в часы ручной работы.

8 сентября в 20:00 МСК на открытом уроке «ИИ против бага: как разобрать инцидент в Python-проекте от логов до исправления» покажем, где в этом процессе действительно может помочь искусственный интеллект.

На практическом примере пройдём весь путь: проанализируем логи, сформулируем и проверим гипотезы, найдём проблемный участок кода, подготовим исправление и тесты. Вы увидите, как ускорять расследование с помощью ИИ, сохраняя контроль над результатом.

Урок будет полезен Python-разработчикам, знакомым с отладкой и анализом логов, и проходит в преддверии старта курса «ИИ для Python-разработчиков».

🤖Зарегистрируйтесь и разберите рабочий сценарий применения ИИ: https://vk.cc/d0TUT1

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
1💩1
Безопасность контейнеров

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

#devops #ru

Скачать книгу
👍51🤔1👌1
Что на самом деле делает `docker run -it` 🐳

Когда контейнеру нужен интерактивный shell, REPL или текстовый редактор, обычно запускают:


docker run -it ...


Но -i и -t делают разные вещи.

- -i (--interactive) — оставляет STDIN открытым, чтобы процесс внутри контейнера мог получать ввод с клавиатуры.
- -t (--tty) — создаёт pseudo-TTY, поэтому приложение ведёт себя как в обычном терминале.

Вместе они дают полноценную интерактивную сессию:


docker run -it ubuntu bash


Без -i не будет нормального интерактивного ввода.

Без -t приложение может работать, но без привычного терминального поведения: prompt, цветов, управления курсором и нормальной работы vim, top, less и других TTY-программ.

Под капотом схема примерно такая:


Terminal

Docker CLI

pseudo-TTY

bash внутри контейнера


То есть -i отвечает за ввод, а -t — за сам терминал.

Если вы годами пишете docker run -it, но никогда не разбирались, зачем нужны оба флага, у iximiuz есть отличный практический challenge:

https://labs.iximiuz.com/challenges/docker-101-container-run-tty
👍10
Чат с вашими резюме.

Присылайте резюме, чтобы HR вас увидела и ей(ему) было удобно с вами связаться.

IT Резюме

P.S сейчас там можно бесплатно «прожарить» свое резюме на предмет ошибок и обхода ATS
🔥3🤡3