Что такое Portainer и зачем он нужен для управления Docker
Ранее мы уже разбирали базовые команды Docker и повседневную работу с контейнерами. Следующий логичный шаг — упростить управление окружениями и сделать его наглядным.
Сегодня поговорим о Portainer — графическом интерфейсе для управления Docker, Kubernetes и Podman. В новой статье показали, какие задачи он решает, в каких сценариях действительно полезен и чем отличается от работы через командную строку. Отдельно разобрали ключевые возможности: управление контейнерами и образами, просмотр логов и статистики, работу с сетями и томами, запуск приложений через docker-compose и готовые шаблоны.
Пошаговая инструкция по установке Portainer через Docker-контейнер и подсказки, с каких разделов удобнее начать работу — в базе знаний Рег.облака.
Открытый проект Go Katas поможет освоить язык программирования прямо Go. В репозитории решения есть сборник сотен ежедневных упражнений, чтобы довести навыки кодинга на Go до автоматизма, изучить конкурентность и Context, отработать Graceful Shutdown, а также защиту от утечек воркеров и правильный Fan-Out. Есть множество упражнений на Zero-Allocation парсинг, работу в sync.Pool и шардированные мапы.
Вы, наверное, еще не слышали, но зумеры сейчас жестко залипают на мем про самонадутие. История максимально идиотская и оттого дико смешная.
Какой-то женщине пришло в голову помыть бассейн пуховиком, потому что он самонадувается.
А? Ничего не щелкает?
Ну и зря. В облаке ведь все происходит ровно так же. Ты вроде хочешь как лучше, а потом смотришь, что расходы расперло так, хоть бассейн ими мой.
Естественно, облака, в отличие от пуховиков, специально никто не раздувает. Нет такого, что кто-то с утра пришел и заявляет — а давайте сегодня сожжем весь бюджет. Просто тут включили какой-то сервис. Там — логи оставили в горячем сторадже. Здесь забыли выключить dev-окружение. Ну, и бэкапы, конечно, куда без них.
То есть с виду-то все выглядит очень безобидно. Но через пару месяцев смотришь на счет и не понимаешь, как он вообще таким стал. В общем, самонадутие в чистом виде. Только не мемное, а финансовое.
Тут-то и нужен FinOps. Только так можно понять, что реально работает, а что просто лежит мертвым грузом. И хорошо еще, если соответствующий инструментарий уже есть. А если нет? Для таких случаев есть FinOps Radar — бесплатный инструмент, который позволит экономить до 30%.
А, если не ясно, как действовать, приходите к нам в комьюнити. Тут мы как раз обсуждаем такие вещи, делимся болью и ищем выходы из разных ситуаций с реальными цифрами и фейспалмами.
В общем, лучше разобраться сейчас, чем потом сидеть и думать, почему у вас все снова самонадулось.
2026 год начался с инфраструктурных обновлений. В январе мы сосредоточились на сервисах для работы с данными, облаком и выделенными серверами, а также выпустили новые материалы и кейсы. Ниже — ключевые новости месяца.
Запустили сетевые диски в облаке
В Рег.облаке появились сетевые диски — облачное блочное хранилище, которое подключается к виртуальным серверам как обычный диск и позволяет управлять данными независимо от вычислений. Сетевые диски уже доступны в личном кабинете Рег.облака.
Выпустили исследование по GPU Bare Metal
Мы также подготовили исследование о рынке выделенных GPU-серверов (Bare Metal) и спросе на dedicated-серверы с видеокартами для AI, ML и VDI-сценариев. Если работаете с высокопроизводительными нагрузками — рекомендуем заглянуть в раздел dedicated GPU на сайте Рег.облака.
Обновили линейку выделенных CPU
Мы снизили цены на тарифы «Выделенные CPU». Обновилась стоимость за ядро процессора — теперь пользователи могут точнее планировать бюджеты для сервисов с предсказуемой нагрузкой и длительным временем работы. Выбрать тариф можно в личном кабинете Рег.облака.
Добавили резервное копирование для dedicated-серверов
Пользователи Рег.облака теперь могут протестировать услугу резервного копирования для выделенных серверов. Бэкапы можно настраивать и управлять ими напрямую через интерфейс облака — без сторонних инструментов и ручной настройки. Протестировать бэкапы можно в личном кабинете.
Обновили блог Рег.облака
Мы доработали раздел авторов в блоге: переработали дизайн разводящей страницы и добавили поиск. Читать и находить технические материалы стало удобнее — заходите, если давно не заглядывали.
Поделились кейсами
В январе мы проверили, как open-source LLM ведут себя в реальном сценарии автоматизации юридических документов — на примере эксперимента Рег.облака и Raft. В материале — архитектура решения, инфраструктурные ограничения и выводы для ML- и data-команд.
И это только начало нового продуктивного рабочего года! Дальше — больше обновлений, релизов и прикладных материалов. Спасибо, что следите за развитием Рег.облака.
Открытый проект 8mb.local — Self‑Hosted GPU Video Compressor умеет сжимать видео любых размеров в десятки раз. Нужный размер пользователь выбирает сам, а компрессор подстроится. По возможности сохраняет качество. Можно выбрать кодек, битрейт и даже обрезать видос во встроенном редакторе. Всё работает локально.
Только что я релизнул cli-stashv0.2.9. Теперь можно редактировать сохраненную команду.
cli-stash - tui-тулза для добавления терминальных команд в избранное, с возможностью переноса из истории
Кейсы использования такие:
Вы хотите параметр заменить на какое то ключевое слово. Например, я хочу в избранное добавить команду dig для определения NS серверов, которые отдает нам 1.1.1.1. Я не хочу видеть захаркорженные значения. И чтобы было красиво меняю их просто на ключевые слова. Это дает больше эстетического удовольствия при использовании команды - не более. Ну и в будущем я подвезу автосинк с шарингом на команду, так что может быть полезно.
Да просто надо поменять команду - почему бы не дать такую возможность =)
Пример редактирования
Кстати, тут вопрошали сколько 🌟 наберет тулза в github - пока всего 37. Ну а что это за инструмент и чем он может быть полезен можно подробнее прочитать в предыдущем посте.
_________________
Хватит читать DevOps-статьи от людей без продакшена. Я рассказываю про свой реальный опыт в своем Telegram-канале DevOps Brain 🧠 ↩
Когда одного SSH уже мало и нужен полноценный графический интерфейс, помогает VNC: подключаетесь к рабочему столу удаленного сервера и работаете так, будто сидите перед ним. Главное — настроить правильная настройка.
Мы подготовили пошаговую инструкцию по установке и настройке VNC на Ubuntu 24.04 на примере TightVNC + Xfce. В статье показали, как подготовить сервер, установить нужные пакеты, настроить автозапуск сессии через xstartup, запустить VNC и подключиться с клиентской машины. Плюс добавили практические советы и отдельный FAQ с разбором частых вопросов.
Открытый проект FileSync позволяет отправлять файлы сразу на все устройства без облаков и мессенджеров. Работает прямо в браузере: нужно просто выбирать файл и передать одновременно на несколько устройств в реальном времени. Передача идёт напрямую между устройствами, с end-to-end шифрованием — файлы нигде не сохраняются и не проходят через сервер. Можно отправлять файлы сразу на смартфон, ноутбук и планшет через WebRTC. Подходит для больших файлов, не режет скорость как мессенджеры. Работает кроссплатформенно: iOS, Android, Windows, macOS, Linux. Можно развернуть у себя через Docker и использовать как личный файлообменник. Сервер нужен только для установления соединения, контент он не видит.
Представлено Duolingo для кодеров — Coddy. Это бесплатный проект, который превращает изучение программирования в залипательную игру. Внутри ежедневные задания, серии дней без пропусков, уровни и рейтинги, чтобы было интереснее не бросать. Можно писать код прямо в приложении на смартфоне или ПК. Всё синхронизируется между устройствами. Больше 15 языков программирования: от популярных Python и JavaScript до C++, Go, Rust и Lua. Есть отдельные направления по аналитике данных, ИИ и веб‑разработке.
Открытый учебный проект 30 Days of Python помогает освоить синтаксис и концепции языка программирования за месяц. Там есть основная база Python от настройки окружения до мощного ООП, организации кода и паттернов проектирования. Каждый день — новая тема. После каждого урока есть десятки вопросов для самопроверки и упражнений для повторения. При этом каждый следующий урок опирается на предыдущий.
Ребята, я сегодня релизнул cli-stash. Это TUI-утилита на Go + Bubble Tea для сохранения shell-команд в "избранном".
Пример использования cli-stash
Она решает простую боль: сложные команды (docker, kubectl, ffmpeg) постоянно забываются, а копаться в history каждый раз это страдание.
Что умеет:
Сохраняет ваши команды в избранном
Возможность добавить из истории шелла
Нечеткий поиск
Сортировка по частоте использования
И самое крутое, что команда вставляется прямо в терминал. Таким образом вам не надо ничего копипастить: нашел → выбрал → enter → команда уже в cli.
# Установка в Linux
go install github.com/itcaat/cli-stash@latest
# Сборка из исходников
git clone https://github.com/itcaat/cli-stash.git
cd cli-stash
go build -o cli-stash .
sudo mv cli-stash /usr/local/bin/
В macOS поставить изян brew install itcaat/tap/cli-stash
Исходники и инструкция по использованию есть на github.
_________________
Хватит читать DevOps-статьи от людей без продакшена. Я рассказываю про свой реальный опыт в своем Telegram-канале DevOps Brain 🧠 ↩
Пользователи постоянно жаловались, что часы на микроволновке в офисе никогда не показывают правильное время, потому что хозяину устройства было лень устанавливать их вручную. Поэтому он сделал в cron задачу по запуску скрипта un**ck-microwave.sh, которая ненадолго отключает питание каждые сутки в полночь.
Сегодня хочу поднять тему, которую редко обсуждают отдельно, но без неё Docker просто не работал бы так стабильно и предсказуемо - манифесты образов.
Периодически в разные частях документации или статьях про Docker вы будете встречать "манифесты". Обычно это звучит как что-то второстепенное: мол, есть какая-то мета-информация, по которой Docker собирает образ из слоёв.
Но на деле это одна из ключевых деталей, которая отвечает за то, что контейнеры:
воспроизводимы
одинаковые на разных машинах
и не превращаются в "ну у меня работало".
Я попытаюсь все описать максимально просто.
Docker Manifest - это JSON-документ, который описывает образ. Можно представить его как схему или инструкцию, по которой Docker понимает:
какие слои относятся к образу
какие контрольные суммы должны быть у каждого слоя
в каком порядке их нужно использовать
для какой ОС и архитектуры этот образ подходит
И важный момент: когда ты делаешь docker pull, Docker сначала получает манифест, а уже потом начинает скачивать слои.
Как посмотреть манифест самому: docker manifest inspect nginx:latest.
Тут можно заметить, что один тег (nginx:latest) может ссылаться сразу на несколько вариантов образа - например под amd64 и arm64. Это как раз история про multi-arch. Иногда под словом manifest имеют в виду не сам образ, а manifest list (index). Это как меню: Docker смотрит на твою платформу и выбирает подходящий вариант (amd64/arm64).
Каждый слой Docker-образа имеет SHA256-хеш, который вычисляется из его содержимого.
Логика максимально простая:
поменялся файл
поменялось содержимое
поменялся хеш
значит получился другой слой
По сути это очень похоже на философию Git: всё завязано на содержимое, а не на "имя файла".
Docker Registry использует Content Addressable Storage - то есть хранит и раздаёт данные не по названию, а по их хешам.
Что происходит при push / pull?
Если упростить до понятной схемы, то процесс примерно такой:
клиент сначала отправляет/получает манифест
registry проверяет хеши и наличие слоёв
передаются только те слои, которых ещё нет
каждый слой проверяется по SHA256
То есть никакой лишней передачи данных и никаких "примерно совпало".
Комбинация манифестов и хешей даёт сразу несколько сильных преимуществ:
Безопасность - слой нельзя незаметно подменить
Экономия места - одинаковые слои не хранятся по сто раз
Целостность - скачанное гарантированно равно загруженному
Версионирование - образ это конкретная комбинация слоёв, а не “что-то похожее”
Именно поэтому условный nginx:latest на dev и на prod - это реально один и тот же образ, а не "почти такой же, но чуть другой". Ладно, давайте будем более дотошными. На самом деле нет - использовать latest плохая практика. За время пока образ приехал,- там уже могут быть разные образы.
Как минимум используйте конкретный тег, а еще лучше даже sha256 docker pull nginx@sha256:...
_________________
Хватит читать DevOps-статьи от людей без продакшена. Я рассказываю про свой реальный опыт в своем Telegram-канале DevOps Brain 🧠 ↩
Сегодня будет для самых маленьких про вещь, которая пугает не только новичков, а вообще всех, кто хоть раз попадал в настоящий “железный” контур без интернета.
Речь про vi...😱
Как выйти из vi? Никак. Это не редактор, это пожизненный контракт.
Я открыл vi один раз в 2009 году. С тех пор у меня один и тот же терминал, потому что я всё ещё пытаюсь выйти.
Если ты случайно запустил vi на проде — проще выкинуть сервер, чем найти правильную комбинацию клавиш.
Это тот самый редактор, который в обычной жизни можно спокойно не трогать годами… А потом ты оказываешься в air-gap, где:
нет vscode
нет nano
нет mc
иногда даже less нет и кажется, что у тебя есть только vi и судьба
И вот ты открываешь конфиг… и мозг такой: эээээ мы не умеем, всё, до свидания.
Давай разберёмся, как перестать бояться vi и научиться выживать с ним спокойно.
Почему vi вызывает ступор? Потому что он не работает как обычные редакторы. Ты нажимаешь клавиши - а текст не печатается. Пытаешься выйти - не выходит. И где-то рядом уже открывается вкладка “как выйти из vi”, но интернет… в другой реальности.
Главное, что нужно понять - в vi есть несколько режимов:
Normal mode - это режим команд и перемещения. Тут ты не печатаешь текст, а управляешь редактором.
Insert mode - это режим, где можно реально редактировать и вводить текст.
Command mode (через :) - cохранение, выход, всякие служебные команды и тд
Минимальный набор клавиш, чтобы выжить:
Войти в редактирование -> i, a, o
Вернуться обратно в команды -> Esc
Сохранить файл -> :w
Выйти -> :q
Сохранить и выйти -> :wq
Выйти без сохранения -> :q!
Полезные команды, которые реально пригодятся:
удалить строку -> dd
вставить строку ниже -> o
отменить действие -> u
повторить последнее действие -> .
поиск: / и дальше текст который ищем
Пример: быстро поправить конфиг и уйти живым
vi /etc/hostname
Дальше всё по шагам:
нажми i и внеси правки
нажми Esc
введи :wq
готово - конфиг сохранён, ты победил
А если ты хочешь владеть vi как ниндзя, то вот тебе Vim Cheat Sheet https://vim.rtorr.com/
_________________
Хватит читать DevOps-статьи от людей без продакшена. Я рассказываю про свой реальный опыт в своем Telegram-канале DevOps Brain 🧠 ↩
Представлен открытый проект эмулятор Time Station Emulator, который может превратить практически любой смартфон или планшет в низкочастотный радиопередатчик, транслирующий сигнал времени и синхронизировать большинство радиоуправляемых («атомных») часов и наручных часов.
Решение имеет совместимость с большинством радиоуправляемых часов: эмулирует пять действующих радиостанций передачи сигналов времени (BPC, DCF77, JJY, MSF и WWVB). Сетевое время: вычисляет текущее время из сети с помощью алгоритма, подобного NTP. Независимость от местоположения: поддерживает применение смещения к передаваемому времени ±24 часа от текущего времени. Поддерживает летнее/зимнее время (BST/CEST/DST): передаёт информацию о переходе на летнее время для DCF77, MSF и WWVB. Поддерживает високосные секунды: передаёт смещение DUT1 для MSF и WWVB. Работает на стороне клиента, в браузере: полностью в браузере; не требует установки, регистрации и сбора данных.
Иногда самые полезные вещи - это вовсе не большие системы и не новые фреймворки, а маленькие утилиты, которые внезапно делают жизнь проще. На днях вспомнил про одну такую находку и решил поделиться.
Наверняка знакомо ощущение: смотришь логи через tail -f, делаешь какое-то действие - рестарт сервиса, деплой, правку конфига - и потом пытаешься глазами понять, где закончился старый вывод и началось новое. Спойлер: это не всегда просто.
Она вставляет визуальные разделители прямо в поток вывода и отлично работает в реальном времени. Без магии, без лишних настроек - просто аккуратно отделяет "было" от "стало".
В итоге это неожиданно удобно:
при отладке,
при сопровождении сервисов,
при поиске изменений в логах после конкретных действий.
Отдельный плюс - минимализм. Никаких зависимостей, ничего лишнего: скачал, поставил, используешь. Именно тот случай, когда инструмент делает ровно одну вещь - и делает её хорошо.
_________________
Хватит читать DevOps-статьи от людей без продакшена. Я рассказываю про свой реальный опыт в своем Telegram-канале DevOps Brain 🧠 ↩
Чем дольше я работаю с инфраструктурой, тем чаще ловлю себя на мысли: главный навык здесь - не конкретный инструмент и даже не стек, а способность заставить что-то работать в самых странных условиях.
Ответ неожиданно нашёлся в одном месте - canitrundoom.org. Это не сайт и не галерея, а настоящий музей инженерного безумия, где люди снова и снова доказывают, что если есть процессор и немного упрямства, то DOOM запустится.
В коллекции устройства, которые точно не проходили ревью на "игровую платформу": - офисная техника, - измерительное оборудование, - городские экраны, - железо, побывавшее в космосе
Смотришь на всё это и вдруг понимаешь: пределы возможностей куда дальше, чем кажется. Если DOOM смог заработать там, где для этого не было ни интерфейсов, ни смысла - то уж доставить очередной говнокод в прод - вообще же плевое дело.
Очень рекомендую заглянуть и дать мозгу немного свободы.
_________________
Хватит читать DevOps-статьи от людей без продакшена. Я рассказываю про свой реальный опыт в своем Telegram-канале DevOps Brain 🧠 ↩
Открытый проект CompactGUI оптимизирует дисковое пространство, занятое играми. Степень сжатия — до 60%. Это не архивация — игры не запаковываются в ZIP и RAR, тут совершенно другой метод. Игры продолжат работать как обычно — ярлыки и папки будут на месте. Если игра обновилась в Steam, то решение само досожмёт обновление. Проект использует встроенные алгоритмы Windows.
Рег.облако запустило сетевые диски для гибкого управления данными в облаке
Пользователям Рег.облака стали доступны сетевые диски — облачное блочное хранилище, которое подключается к виртуальным серверам как обычный диск и позволяет управлять данными независимо от вычислительных ресурсов.
Сетевые диски предназначены для сценариев, где важно отделить данные от жизненного цикла виртуальных машин. Хранилище можно подключать и отключать от ВМ, переносить между серверами или полностью удалять без пересборки инфраструктуры и простоев в работе.
Объем дисков можно увеличивать по мере роста нагрузки или добавлять новые диски без изменения конфигурации виртуальной машины. Масштабирование происходит без остановки сервисов и не ограничено емкостью отдельного сервера. Такой подход подходит для работы с логами, резервными копиями, медиаконтентом, большими наборами данных, а также для аналитических и ML-сценариев.
Сетевые диски построены на распределенной системе хранения данных на базе Ceph с тройной репликацией. Для всех дисков, независимо от объема, зафиксированы характеристики производительности: до 2000 IOPS и пропускная способность до 500 МБ/с. Это позволяет заранее прогнозировать поведение хранилища и использовать его в нагруженных облачных сервисах.
В отличие от объектного S3-хранилища, сетевые диски монтируются в систему как блочные устройства. Это позволяет работать с файловыми системами напрямую — без обращения к API — и снижает задержки при операциях чтения и записи. По сравнению с локальными дисками виртуальных машин, сетевые диски не привязаны к конкретному серверу и упрощают управление объемами и миграции.
Решение ориентировано на DevOps-инженеров, системных администраторов и разработчиков, которым важно масштабируемое и отказоустойчивое хранилище с возможностью управлять данными отдельно от вычислений.
Сетевые диски уже доступны в инфраструктуре Рег.облака.