psiklop, не костыль, а широко распространённый способ спрятать за https приложение которое не может реализовать его самостоятельно. И Apache тут не нужен, просто добавить location в конфиг Nginx.
dockerlover, можно. Если контейнером управляет Kubernetes или ты сам напишешь скрипт который будет этим заниматься. Ну и вариант с явным указанием IP в docker-compose.yml и прописыванием сответствуюзей A записи в DNS
Разумеется как - трафик свободно может проходить с хостовой машины в контейнер и обратно через veth интерфейс. Достаточно выяснить какой в контейнере IP, либо явно его задать в момент запуска контейнера.
docker build ...