Команда
docker run -p 5432:5432 ... по умолчанию публикует порт на всех сетевых интерфейсах хоста. На Linux правило UFW, закрывающее порт, может не помочь: Docker направляет трафик к контейнеру до обработки правил UFW.Если доступ нужен только с самого сервера, укажите адрес явно:
docker run -p 127.0.0.1:5432:5432 ...
Для всех контейнеров можно изменить адрес привязки по умолчанию в настройках Docker. Но самый простой способ избежать сюрприза - всегда проверять, на каком адресе опубликован порт.
Документация Docker - https://docs.docker.com/engine/network/port-publishing/
