2016-12-18 30 views
9

Używam Docker Quickstart Terminal, aby uruchomić kontener dokowania. Pojemnik powinien działać na porcie 8088 z localhost:Proces Docker localhost nie działa w systemie Windows

docker run -it --name myContainer -p 8088:8088 

Jednak, gdy idę do localhost:8088 lub 127.0.0.1:8088 nie mogę znaleźć żadnego zakonczeniu.

Działa to w systemie OSX.

Dlaczego to nie działa w systemie Windows?

+0

Twoje pytanie dotyczyło localhost: jeśli chcesz, aby localhost działał, musisz przesłać dalej, jak wspomniałem. Jeśli nie, to ip komputera stacji dokującej wskaże rzeczywiste IP VM. – VonC

Odpowiedz

12

Zakładam, że korzystasz z VirtualBox, ponieważ jest to zintegrowane z terminalem Quickstart.

Powodem, dla którego nie działa, jest to, że system Windows nie uruchamia kontenerów (Linux) natywnie, uruchamia je w oddzielnej maszynie wirtualnej opartej na systemie Linux. Ten VM jest dostępna pod inny adres IP niż swojego „fizycznego” maszyny, z reguły drukowane po uruchomieniu terminalu Szybki start:

enter image description here

Jest to adres IP trzeba użyć, aby połączyć się z opublikowanym pojemniku porty.

3

Jedną z możliwości jest rodzaj używanej maszyny wirtualnej: HyperV (Docker For Windows) lub VirtualBox (Docker Toolbox).

Jeśli jest to późniejsze (co wydaje się prawdopodobne, ponieważ korzystasz z Docker Quickstart Terminal), musisz przesłać do przodu 8088, aby twój komputer (localhost) mógł go zobaczyć.
Zobacz "How do I configure docker compose to expose ports correctly?" jako przykład podczas korzystania z VirtualBox.

Jeśli localhost nie działa, docker-machine ip pokaże Ci IP maszyny wirtualnej, która jest wykonywana.

Powiązane problemy