Домен привязывается не к контейнеру, а к ip адресу.
Вы не уточнили где именно поднята эта виртуальная машина и с какой целью.
Если у вас на компьютере для личного использования, то проще всего использовать nip.io или прописать соотвествие домена и ip адреса виртуальной машины в файле hosts.
Если вы арендовали виртуальную машину у какого-то провайдера и хотите сделать её доступной для всех по домену, то нужно купить домен и в его настройках указать ip адрес виртуальной машины.
Ну или использовать всё тот же nip.io если это общий сервис для малого круга лиц.
UPD:
чтобы по разным доменам открывались разные веб-приложения, вам необходим http прокси, который на основании домена, указанного в http запросе, будет проксировать этот запрос на тот или иной внутренний адрес.
Обычно для этого устанавливают nginx, который сам слушает 80 и 443 порты.
Все домены настраивают так, чтобы вели на адрес этого сервера.
В конфиге nginx описывают какое приложение должно отвечать по определённому домену, примерно вот так:
server {
listen 80;
server_name site-1.domain.com;
location / {
proxy_pass http://127.0.0.1:27073;
}
}
server {
listen 80;
server_name site-2.domain.com;
location / {
proxy_pass http://127.0.0.1:12345;
}
}