Docker Toolbox – Localhost werkt niet

Dus ik gebruik Docker Toolbox omdat ik geen Hyper-V op mijn computer heb omdat het geen Windows 10 pro is. Alles lijkt goed te werken, maar wanneer ik in mijn browser 0.0.0.0:80probeer te gaan, krijg ik altijd het volgende terug: Deze site kan niet worden bereikt

Maar als ik het commando: docker container psuitvoer, krijg ik het volgende: 0.0.0.0:80->80/tcpwat betekent dat dit adres zou moeten werken. Ik heb gezocht naar problemen met stackoverflow en github. Nu zit ik vast.

Mis ik iets?

Bedankt,
Markeer

BEWERKEN:

Het gebruik van docker-machine ip defaultgeeft me 192.168.99.100. Ik voer dat uit op poort 80. Ik krijg nog steeds hetzelfde resultaat, behalve dat het adres de container-ID wordt: https://fd677edg12

Ik voer dat commando uit op cmd om mijn ipv4 te vinden: cmd /k ipconfig /all. Zet het resultaat bij de poort en het geeft hetzelfde terug: https://fd677edg12


Antwoord 1, autoriteit 100%

Docker Toolbox biedt niet zoveel gemakken als Docker voor Windows, maar u gebruikt het correct aangezien u de Home-editie gebruikt.

In Toolbox zal niets localhostzijn en standaard 192.168.99.100zijn, aangezien het een Linux-VM in VirtualBox draait.

Dus als je docker run -p 80:80 nginx

uitvoert

(merk op dat ik een poort moest publiceren voor 192.168.99.100om op die poort te kunnen luisteren)

Vervolgens naar http://192.168.99.100gaan zou moeten werken.


Antwoord 2, autoriteit 36%

Ik had aanvankelijk een paar problemen met het openen van mijn applicaties op localhost:8080 tijdens het gebruik van DockerToolBox en OracleVM VirtualBox.

In VirtualBox:

  1. Klik op de juiste machine (waarschijnlijk degene met het label “standaard”)
  2. Instellingen
  3. Netwerk > Adapter 1 > Geavanceerd > Poort doorsturen
  4. Klik op “+” om een ​​nieuwe regel toe te voegen
  5. Hostpoort instellen 8080& Gastpoort 8080; zorg ervoor dat u Host IP en Guest IP leeg laat

Voer de opdracht uit:

docker run -p 8080:8080 ${image_id}

Antwoord 3, autoriteit 25%

Ik volgde de tutorial over docker voor Windows in https://docs.docker.com/docker-for-windows/#set-up-tab-completion-in-powershellen liep vast in stap #6 bij het testen van nginx in de webbrowser. Het lijkt erop dat ik een soortgelijk probleem had, aangezien ik ook Windows Home gebruik en geen Hyper-V heb. Mijn oplossing is vrij eenvoudig:

  1. controleer uw docker-IP-standaard

$ docker-machine ip standaard

192.168.99.100

  1. Ga naar Oracle Virtual Machine om port forwarding in te stellen. Zorg ervoor dat de netwerkinstelling NAT is en voeg port forwarding toe.
    Host IP: 127.0.0.1, Guest IP: 192.168.99.100, poort helemaal ingesteld op 80
    vind dit leuk

  2. Probeer opnieuw in uw browser en voer http://localhostof http://127.0.0.1(kan ook poort 80 toevoegen). Het zou moeten werken.

Het punt is dat het nginx-IP bedoeld is om toegankelijk te zijn binnen de docker Virtual Machine, zodat we die instelling voor het doorsturen van poorten nodig hebben om er rechtstreeks toegang toe te krijgen in de browser van de hostmachine


Antwoord 4, autoriteit 8%

Je kunt localhostgebruiken in plaats van ‘192.168.99.100’ door de instructies te volgen:

Stap #01:

docker-machine ip default

U ziet het standaard IP-adres

Stap #02:

docker-machine stop default

Stap #03:

  1. Open VirtualBox Manager (vanaf de start programma’s in Windows zoeken naar VirtualBox Manager)
  2. Selecteer uw Docker Machine VirtualBox-afbeelding (bijvoorbeeld: standaard)
  3. Open Instellingen -> Netwerk -> Geavanceerd -> Poort doorsturen
  4. Voeg uw app-naam, de gewenste hostpoort en uw gastpoort toe
    i.e, app name : nginx, host: 127.0.0.1, host port: 80, guest port: 80

Stap #04:
Nu bent u klaar om uw Docker Machine te starten door het volgende uit te voeren:

docker-machine start default

Start dan gewoon je Docker-container en je hebt er toegang toe via localhost.

Kijk hiervoor details.


Antwoord 5

Om de verwachte poorten toe te wijzen aan localhostin plaats van rechtstreeks naar het IP-adres van de docker-machine te gaan, kunt u de VirtualBox CLI gebruiken.

Als de docker-machine VM (hier defaultgenoemd) actief is, voeg en verwijder dan regels als volgt:

> VBoxManage.exe controlvm "default" natpf1 "nginx,tcp,,8888,,8888"
> VBoxManage.exe controlvm "default" natpf1 delete nginx

Als de VM niet draait of u wilt stoppen voordat u deze wijzigt:

> docker-machine stop
> VBoxManage.exe modifyvm "default" --natpf1 "nginx,tcp,,8888,,8888"
> VBoxManage.exe modifyvm "default" --natpf1 delete "nginx"
> docker-machine start

Waar het formaat van de regel voor het doorsturen van poorten is [<name>],tcp|udp,[<hostip>],<hostport>,[<guestip>], <guestport>.

Houd er rekening mee dat u in VirtualBox wilt toewijzen aan de host-poort van de Docker-kaart, niet aan de interne containerpoort. U brengt host in kaart -> VM, dan wijst Docker VM toe -> container.

Zie de VirtualBox-documenten.


Antwoord 6

Dit is nog een gemakkelijke manier om te voorkomen dat je het ip 192.168.99.100 typt.
Ga naar C:\Windows\System32\drivers\etc\hostsen voeg aan het einde van het bestand toe:

192.168.99.100 docker.awesomeof een willekeurige naam.

Sla het bestand op (u moet beheerdersrechten hebben, dus zorg ervoor dat u met de rechtermuisknop op het bestand klikt en het als beheerder uitvoert om het op te kunnen slaan wanneer u het bewerkt).

Ga naar de door jou gekozen domeinnaam, in dit geval docker.awesome:8080en daar heb je hem.


Antwoord 7

Na veel testen heb ik dit bulletinboard kunnen bemachtigen.

  1. De opdracht docker run die ik gebruikte – docker run -p 4680:8080 –name bb bulletinboard:1.0
    Hier is 4680 het localhost-poortnummer.
    8080 is het containerpoortnummer, de poort waarop de container zal luisteren. Dit poortnummer wordt vermeld in het EXPOSE-commando in de Dockerfile.

  2. Ga vervolgens naar de webbrowser en typ 192.168.99.100:4680

Hier is 192.168.99.100 het IP-adres van de docker-machine (gebruik het commando -> docker-machine ip)

  1. Hierna zou uw browserpagina moeten openen om –

voer hier de afbeeldingsbeschrijving in

Hopelijk helpt dit jullie allemaal!!

Other episodes