2017-03-17 18 views
13

Używam Docker Toolbox, ponieważ nie mam Hyper-V na moim komputerze, ponieważ nie jest to Windows 10 pro. Wszystko wydaje się działać poprawnie, ale gdy próbuję iść na mojej przeglądarce 0.0.0.0:80 to zawsze wraca do mnie: Ta strona nie może być osiągniętyDocker Toolbox - Localhost nie działa

Ale kiedy uruchomić polecenie: docker container ps uzyskać następujące: 0.0.0.0:80->80/tcp co oznacza, że ​​ten adres powinno działać. Przeszukałem problemy stackoverflow i github. Teraz utknąłem.

Czy brakuje mi czegoś?

Dzięki, Mark

EDIT:

Korzystanie docker-machine ip default powraca mi 192.168.99.100. Uruchomiłem to na porcie 80. Wciąż otrzymuję ten sam wynik, z wyjątkiem tego, że adres staje się identyfikatorem kontenera: https://fd677edg12

Uruchamiam to polecenie na cmd, aby znaleźć mój ipv4: cmd /k ipconfig /all. Umieść wynik z portem i zwraca to samo: https://fd677edg12

+0

0.0.0.0 nie jest faktycznym adresem, oznacza to, że port był powiązany z wszystkimi interfejsami hosta stacji dokującej (komputera z systemem Windows). Spróbuj localhost: 80 lub jakikolwiek adres IP twojego komputera: 80 – fvu

+0

@fvu Nadal dostaję "ta strona jest nieosiągalna". Próbowałem też domyślnego ip -> 192.168.99.100 'docker-machine default 'Tak więc umieściłem to w adresie:' 192.168.99.100: 80' Wciąż otrzymuję ten sam wynik. – Mark

+1

Jeśli otrzymujesz przekierowanie - to Twoja aplikacja jest zepsuta. Zakładając, że doker działa na tym samym komputerze, powinieneś być w stanie http: // localhost: 80/ – user2105103

Odpowiedz

23

Docker Toolbox nie ma tak wielu ułatwień jak Docker dla systemu Windows, ale używasz go poprawnie, ponieważ jesteś w domowym wydaniu.

W Przyborniku nic nie będzie localhost, i będzie domyślnie 192.168.99.100, ponieważ uruchamia maszynę wirtualną Linux w VirtualBox.

Więc jeśli uruchomić docker run -p 80:80 nginx

(Zawiadomienie miałem opublikować port 192.168.99.100 słuchać na tym porcie)

Wtedy będzie http://192.168.99.100 powinno działać.

+0

Dziękuję za odpowiedź. Podążam za twoimi krokami z wyjątkiem dodanego 'docker run -p 80:80 -d nginx'. Podaję adres i przekierowuje mnie do 'https: // dev /', ponownie mówi, że strona nie jest dostępna. Chciałem również sprawdzić, czy mam coś, co jest plikiem 'hosts' (chociaż wiem, że to nie jest localhost). Skomentowałem wszystko. – Mark

+0

Po kilku próbach w końcu udało mi się to zrobić. Niestety, nie jestem zbyt pewien, jaki był problem. – Mark

5

Początkowo miałem kilka problemów z uzyskaniem dostępu do moich aplikacji w localhost: 8080 podczas korzystania z DockerToolBox i OracleVM VirtualBox.

W VirtualBox:

  1. Ustawienia
  2. Sieci
  3. Adapter 1 Advanced Port Forwarding
  4. Będziemy chcieli, aby dodać nową regułę
  5. Set hostPort 8080 & GuestPort 8080, należy pozostaw HostIP i Guest IP puste

Uruchom komendę:

docker run -p 8080:8080 ${image_id} 
+0

Z powodu konfiguracji CORS na zdalnym interfejsie API, muszę uruchomić jako localhost: 8080. Tak wspaniałe, to takie proste, dzięki! – phazei

+0

działa dla mnie, dzięki –

5

byłem po docker dla tutoriala okien w https://docs.docker.com/docker-for-windows/#set-up-tab-completion-in-powershell i utknął w kroku 6, gdy badanie nginx w przeglądarce internetowej. Wydaje mi się, że miałem podobny problem, ponieważ używam również Windows Home i nie mam Hyper-V.Moje obejście jest całkiem prosta:

  1. sprawdzić domyślne IP Döcker

$ domyślny doker automatyczna ip

192.168.99.100

  1. Przejdź do wirtualnej maszyny Oracle, aby ustawić przekazywanie portów. Upewnij się, że ustawieniem sieci jest NAT i dodaj przekierowanie portów. Host IP: 127.0.0.1, IP gościa: 192.168.99.100, port ustawione na 80 like this

  2. Spróbuj ponownie do przeglądarki i uruchom http://localhost lub http://127.0.0.1 (można dodać także port 80). Powinien działać.

Rzeczą jest, że IP nginx ma być dostępny w Döcker Virtual Machine, tak że musimy, że ustawienie portu forwading, aby uzyskać do niego dostęp bezpośrednio w przeglądarce komputera hosta za

Powiązane problemy