Я использую docker swarm для управления своими стеками. И я не хочу открывать свои базы данных для публики (порт 5432 на хост-машине не должен быть открыт), но я все равно хочу использовать dbeaver или pgadmin.
Проблема в том, что docker swarm не может открыть порт контейнера только для 127.0.0.1, но откроет его для 0.0.0.0. Поэтому я не могу просто подключиться через ssh к серверу базы данных и подключиться к localhost: 5432.
Моя идея заключалась в том, чтобы создать установку, в которой между мной и моей базой данных находится jumphost (контейнер докеров).
Клиент --SSH -> Jumphost (контейнер) ----> База данных (контейнер Postgres)
Однако это не работает с dbeaver или pgadmin. Когда я создаю ssh-туннель к jumphost, а затем ввожу учетные данные базы данных, я получаю Connection reset
ошибка. SSH туннелирование работает.
У кого-нибудь еще есть подобная установка? Как ты это решил?