Занимаюсь разработкой сайтов. Использую docker в качестве локального веб сервера. Когда сайт один проблем нет, я пишу конфиг сервера для docker compose, файлы сайта и БД кладу рядом с файлом docker-compose.yml и прописываю их в volume. Далее одной командой командой поднимается своя локальная копия сайта по адресу 127.0.0.1 для разработки и можно работать.
Хочу использовать docker в качестве локального интернета. То есть получить что-то вроде openserver, xampp и т.д. Например у меня есть рабочий сайт test.ru. Я хочу поднять свою локальную копию сайта по адресу dev.test.ru. Есть сайт example.com и я хочу поднять свою локальную копию по адресу dev.example.com. И чтобы эти две копии работали как обычные сайты одновременно.
Да, можно прописать порты для каждого сайта и в hosts вручную прописать домены со ссылкой на 127.0.0.1. Далее открывать dev.test.ru:8081 или dev.example.com:8082. Однако решение с портами мне кажется не красивым.
Я вижу только два решения проблемы
1. Каким то образом для каждого docker-compose.yml получать статичный IP адрес, который виден с родительской windows 10. И прописать уже этот статичный IP адрес в hosts вручную, без порта
2. Использовать docker swarm mode. Насколько я понял для swarm можно выделить один статичный IP адрес, поднять его один раз на том же localhost (127.0.0.1) и дальше даже без порта он по домену будет адресовать запрос нужной ноде.
Эти два решения сугубо теоретические. На практике ни одно из них реализовать не получилось. Подскажите как именно (и возможно ли вообще) реализовать одно из двух вышеозначенных решений? Либо предложите свое, чтобы все работало примерно так же.
На тостере уже был похожий
вопрос, однако там в итоге рабочего решения именно для docker так и не предложил никто, посоветовали vagrant и пользоваться чистой виртуалкой. Однако интересует рабочее решение именно для docker.