Połączenie za pomocą nazwy hosta wymaga przejścia przez nazwę hosta do rozdzielczości IP. To jest obsługiwane przez plik hosts i wraca do DNS. Wszystko to dzieje się zanim dotkniesz kontenera dokera, a sama maszyna dokowa nie ma żadnych zewnętrznych haczyków, aby wyjść i skonfigurować plik hosts lub serwery DNS.
Dzięki nowszym wersjom Docker w oknach uruchamiane są kontenery z HyperV, a sieci automatycznie mapują porty do localhost, dzięki czemu można połączyć się z http://localhost. Nie zadziała to w przypadku maszyny-dokera, ponieważ wiruje maszyny wirtualne Virtualbox bez mapowania localhost.
Jeśli nie chcesz konfigurować pliku hosts, DNS i nie możesz użyć nowszej wersji okna dokowanego, pozostaje połączenie z IP. Możesz skorzystać z bezpłatnej usługi DNS typu wildcard, takiej jak http://xip.io/, która odwzorowuje dowolną nazwę, wraz z adresem IP, z powrotem na ten sam adres IP. Pozwala to na użycie odwrotnego proxy na podstawie nazwy hosta, aby połączyć się z wieloma kontenerami wewnątrz dockera za tym samym portem.
Ostatnia opcja to uruchomienie maszyny wirtualnej hosta w doku ze statycznym adresem IP. Docker-machine doesn't support this directly yet, więc możesz polegać na szczęściu, aby zachować ten sam adres IP z danego zakresu lub użyć innego narzędzia, takiego jak Vagrant, aby obrócić maszynę wirtualną hosta dokera ze statycznym adresem IP na laptopie. Po statycznym adresie IP możesz zmodyfikować plik hosta raz, utworzyć wpis DNS dla każdego dewelopera lub użyć tego samego adresu URL xip.io, aby za każdym razem uzyskać dostęp do kontenerów.
Dlaczego nie chcesz używać pliku 'hosts'? Jakiego rodzaju rozwiązania oczekujesz? –
Staram się, aby było to jak najprostsze dla wielu programistów pracujących w środowisku programistycznym. Chciałbym więc unikać ręcznych kroków. –
I o ile mi wiadomo, adres IP maszyny dokującej może się zmienić np. podczas ponownego uruchamiania. –