Из name-based сервисов (т.е. таких, которые могут различать, по какому имени к ним обратились) - есть только два:
- E-mail (UUCP, SMTP) - изначально;
- HTTP - начиная с версии, кажется, 1.1.
Остальные известные мне сервисы могут разделяться либо по IP-адресаам, на которые обращаются клиенты (по Вашим условиям - это невозможно); либо по портам; ну, можно ещё отделить TCP от UDP и прочих протоколов этого уровня.
"postgres" и "www", которые Вы привели как пример - различаются по портам. Поэтому не надо городить огород.
Ещё есть вариант - клиенты коннектятся к Вашему серверу по VPN; попадают в как бы локальную сеть, связывающую докеры; и дальше резвятся с разными IP-адресами, доступными им напрямую.
PS: Вы либо не очень понимаете работу протоколов/сервисов; либо невнятно сформулировали задачу. Впрочем, здесь почти все вопросы такие. Да и не здесь - тоже: большинство вопросов происходят от непонимания, потому криво сформулированы.