Те, кто работал в IntelliJ IDEA, PyCharm, GoLand или WebStorm, привыкли управлять Docker прямо из IDE: запускать и останавливать контейнеры, смотреть логи, работать с томами не выходя из редактора.
В 2022 году JetBrains приостановила продажи и поддержку для пользователей из России. IDE стали недоступны через официальные каналы, а плагины из JetBrains Marketplace (в том числе и Docker-плагин) вместе с ними.
Если про OpenIDE слышите впервые, не буду тратить ваше время на большое вступление. Коротко: это мультиязычная IDE на платформе IntelliJ. Один дистрибутив вместо набора отдельных IDE под каждый язык: Java и Kotlin, Go, Python, PHP, JavaScript и TypeScript. Прямо в IDE встроены DB-клиент, HTTP-клиент, Git, Docker и профилировщики, а AI-агенты подключаются через открытый протокол ACP.

Дистрибутив лежит на сайте и скачивается напрямую, без VPN и обходных путей.
OpenIDE построена на базе IntelliJ Platform, как и все IDE от компании JetBrains. Часть плагинов из экосистемы JetBrains мы смогли перенести в собственный маркетплейс (лицензии позволяли). Docker-плагин к таким не относился, но являлся first class citizen для любого стека. Именно по этой причине консорциум OpenIDE принял решение реализовать поддержку Docker с нуля!
Немного забегая вперед, сейчас мы понимаем, что у этой, как может показаться на первый взгляд, негативной стороны медали, есть и положительная сторона – возможность реализовать некоторые фичи так, как мы считаем нужным.
Вместо того чтобы воспроизводить существующее решение один в один, мы начали с вопроса: какие задачи разработчики реально решают через Docker в IDE, и где текущие возможности IDE создают лишние шаги или кажутся нелогичными/неудобными?
Два мажорных релиза спустя
Плагин доступен в маркетплейсе OpenIDE бесплатно, без VPN и обходных путей. Версия помечена как BETA, но плагин прошёл уже два мажорных релиза.
Я думаю, что подавляющая часть возможностей, к которым вы привыкли уже реализована: боковая панель с сервисами из docker-compose, запущенными контейнерами и томами, отдельные вкладки для сетей, образов и контейнеров вне compose, терминал с логами.

Но несколько вещей мы сделали иначе:
-
down with volumes. Типичный сценарий при локальной разработке: остановить контейнер и сразу удалить связанные тома, чтобы начать с чистого состояния. В старом плагине это два отдельных действия в разных местах. Мы добавили одну кнопку, которая делает и то, и другое. Мелочь по реализации, но убирает бесполезные, как по мне, шаги.

-
include-файлы. Многие проекты организуют docker-compose через несколько файлов, связанных блоком
include. Плагин показывает все сервисы — и из основного файла, и из подключённых — в одном месте. Не нужно держать в голове, в каком файле что описано.
-
Вкладка Structure. Этой функции не было в первых версиях, но её попросило комьюнити. Навигация по docker-описаниям, клик на сервис открывает нужный файл в нужном месте. Мы добавили, потому что запрос был довольно конкретным и понятным.

Для Java и Kotlin — отдельная интеграция через Amplicode
OpenIDE предоставляет самую полную поддержку Spring благодаря встроенному Amplicode. Тот в свою очередь использует Docker-плагин как основу и добавляет поверх него слой, актуальный именно для Spring-разработчика. Через Amplicode Explorer можно создать всё необходимое для приложения — Helm-чарты, ресурсы Kubernetes, модули Terraform или docker-compose — не выходя из IDE.

Amplicode подставит переменные окружения и сгенерирует конфигурации с учётом контекста проекта. Подробнее про поддержку именно для Spring-проектов можно посмотреть в следующем видео:
При создании Dockerfile доступны опции, которые обычно настраиваются отдельно и вручную: включение AppCDS для ускорения старта и настройка JVM через встроенный memory calculator с объяснением логики каждого параметра. Подробнее про это можете прочитать в отдельной статье.
DB-клиент: ещё один плагин, который мы написали с нуля
Docker-плагин не единственная история такого рода. По той же причине и примерно тем же способом мы сделали собственный DB-клиент. Он встроен в IDE, поэтому отдельная программа для работы с базой не нужна: подключение к серверу, дерево схем и таблиц, генерация DDL и диаграмма связей открываются в том же окне, где лежит код проекта.
SQL-редактор знает структуру подключенной базы. После FROM он подставляет реальные таблицы, после обращения к таблице показывает её колонки, опечатки подсвечивает до запуска. Запрос выполняется здесь же, результат открывается в гриде под редактором, оттуда данные сортируются, фильтруются, правятся по ячейкам и выгружаются в CSV, JSON, SQL или XML. Медленный запрос можно сразу отправить в EXPLAIN и посмотреть план в виде дерева. Работает это с PostgreSQL, MySQL, Oracle, ClickHouse и другими СУБД.
Ваш стек, наш Docker
OpenIDE поддерживает Java, Kotlin, Go, Python, JavaScript/TypeScript. Переход на нашу IDE даёт поддержку языка и Docker-интеграцию из коробки.
Плагин покрывает сценарии, с которыми к нам приходили разработчики. Если ваш сценарий в этом списке не нашёлся — напишите нам. Мы будем рады обсудить ваши рабочие сценарии и покрыть их в нашем продукте!

OpenIDE бесплатна навсегда, а Pro версию можно попробовать в течение 60 дней без регистрации. Часть описанных возможностей доступна и в обычной версии, все возможности без исключения в OpenIDE Pro.