Compose Batch Port Conflict Checker
Найти пересечения портов между несколькими docker-compose файлами.
Как это работает
Три независимых проекта, каждый со своим docker-compose.yml, и все три планируется запустить одновременно на одной машине для локальной разработки — прежде чем это делать, стоило бы убедиться, что никто из них не претендует на один и тот же порт хоста. Compose Batch Port Conflict Checker online сравнивает проброшенные порты сразу из нескольких compose-файлов и находит пересечения.
Инструмент проходит по всем сервисам каждого вставленного файла, собирает список портов хоста из секции ports, и явно показывает, если один и тот же порт хоста встречается в двух разных файлах, вместе с именами файлов и сервисов, которые претендуют на этот порт.
Полезно применять перед одновременным запуском нескольких независимых проектов на одной машине для локальной разработки, при онбординге в команду с несколькими микросервисными репозиториями, каждый со своим compose файлом, или просто чтобы не тратить время на разгадывание, почему один из трёх стеков не поднимается с ошибкой address already in use.
Частые вопросы
Учитываются ли порты, заданные через переменную окружения, а не числом напрямую?
Инструмент показывает порт ровно в том виде, как он записан в файле, если используется подстановка переменной окружения без реального значения, конфликт по такой записи может быть не выявлен до момента реальной подстановки.
Как передать несколько compose файлов для сравнения?
Каждый файл вставляется в отдельное поле или разделяется пустой строкой в общем вводе, инструмент разбирает каждый независимо и затем сравнивает собранные списки портов между собой.
Что если один и тот же порт используется дважды внутри одного и того же файла?
Такая ситуация тоже будет отмечена как конфликт, хотя чаще реальная проблема возникает именно между разными файлами разных независимых проектов, а не внутри одного.
Проверяет ли инструмент, реально ли порт занят на вашей машине прямо сейчас?
Нет, это чисто текстовый анализ содержимого файлов, реальное состояние занятости портов на хосте стоит проверять отдельно, например через lsof или netstat, если конфликтов в файлах не найдено, а ошибка всё равно есть.