Docker boîte à outils - Localhost ne fonctionne pas
Donc je suis en utilisant le Panneau de boîte à outils, car je n'ai pas d'Hyper-V sur ma machine, car il n'est pas Windows 10 pro. Tout semble bien fonctionner, mais quand j'essaie d'aller sur mon navigateur 0.0.0.0:80
elle renvoie toujours moi: Ce site ne peut pas être atteint
Mais lorsque je lance la commande: docker container ps
je reçois le texte suivant: 0.0.0.0:80->80/tcp
ce sens que cette adresse doit travailler. J'ai cherché partout stackoverflow et github questions. Maintenant, je suis coincé.
Suis-je raté quelque chose?
Grâce,
Marque
EDIT:
À l'aide de docker-machine ip default
me renvoie 192.168.99.100
. - Je exécuter que sur le port 80. J'obtiens toujours le même résultat sauf que l'adresse devient le numéro du conteneur: https://fd677edg12
Je exécuter cette commande cmd pour trouver mon ipv4: cmd /k ipconfig /all
. Mettre le résultat avec le port et il retourne la même chose: https://fd677edg12
- 0.0.0.0 n'est pas une adresse réelle, cela signifie que le port a été liée à l'ensemble de la docker de l'hôte (votre ordinateur (windows) interfaces. Essayez localhost:80 ou quelle que soit l'adresse ip de votre ordinateur : 80
- Je reçois toujours "ce site ne peut pas être atteint". J'ai aussi essayé
docker-machine default ip -> 192.168.99.100
Alors j'ai mis ça dans l'adresse:192.168.99.100:80
j'obtiens toujours la même reasult. - Si vous obtenez redirigé -- c'est votre application qui est cassé. En supposant que le panneau est en cours d'exécution sur le même ordinateur, vous devriez être en mesure de localhost:80
Vous devez vous connecter pour publier un commentaire.
Docker boîte à outils n'a pas l'obtenir que de nombreuses commodités comme Docker pour Windows, mais vous avez raison de l'utilisation de cela, puisque vous êtes sur la Maison d'édition.
Dans la boîte à outils, rien ne sera
localhost
, et sera192.168.99.100
par défaut, puisque c'est l'exécution d'une machine virtuelle Linux avec VirtualBox.Donc, si vous exécutez
docker run -p 80:80 nginx
(notez que j'ai eu à publier un port pour
192.168.99.100
à écouter sur ce port)Puis allez à
http://192.168.99.100
devrait fonctionner.docker run -p 80:80 -d nginx
. Je vais à l'adresse et il me redirige vershttps://dev/
, encore une fois il est dit que le site ne peut pas être atteint. Je voulais aussi vérifier si j'avais quelque chose est lehosts
fichier (même si je sais que c'est pas localhost). J'ai commenté tout ce qu'il ya.docker-machine
de la cli. Vous pouvez utiliserdocker-machine --help
pour voir ce que vous pouvez faire pour gérer les VM VirtualBox (ou en créer d'autres).J'ai d'abord eu quelques problèmes avec accès à mes Applications sur localhost:8080 tout en utilisant DockerToolBox et OracleVM VirtualBox.
Dans VirtualBox:
8080
& Invité de Port8080
; assurez-vous de laisser IP de l'Hôte et l'Invité IP videExécutez la commande:
C:\Windows\System32\drivers\etc\hosts
) - j'ai dû obtenir à la fois de la vérification de l'avant, il a travaillé pour moi 😉J'étais en suivant le panneau pour windows tutoriel en https://docs.docker.com/docker-for-windows/#set-up-tab-completion-in-powershell et s'est coincé dans l'étape n ° 6 lors de l'essai de nginx dans le navigateur web. Semble que j'ai été confronté à un problème similaire depuis que j'utilise aussi Windows à la Maison et n'ont pas Hyper-V. Ma solution est très simple:
Aller à l'Oracle de la Machine Virtuelle à définir pour la redirection de port. Assurez-vous que le paramètre de réseau est NAT, et ajouter la redirection de port.
Hôte IP: 127.0.0.1, Invité IP: 192.168.99.100, port fixé à 80
comme ceci
Essayer de nouveau votre navigateur et lancez http://localhost ou http://127.0.0.1 (pouvez ajouter le port 80 aussi). Il doit s'exécuter.
Le truc, c'est que la nginx IP est destinée à être accessible dans le menu fixe de la Machine Virtuelle, de sorte que nous avons besoin de ce port forwading afin de pouvoir y accéder directement dans la machine hôte du navigateur
HOST:CONTAINER
ports sont différents, par exempledocker run --detach --publish 8081:80 --name webserver nginx
. Constaté que, dans ce cas, j'ai eu à l'avantHOST
port, c'est a dire dans VirtualBox paramètresHost IP=127.0.0.1
;Host Port=8081
;Guest IP=192.168.99.100
;Guest Port=8081
, pas80
comme je l'ai supposé auparavant. Ressemble dans ma machine Windows 7 avec Docker boîte à outils le Panneau avant port à conteneurs80
à192.168.99:8081
et j'ai hâte de192.168.99:8081
àlocalhost:8081
parce que192.168.99:8081
rien ne s'affiche dans le navigateur web.Vous pouvez utiliser
localhost
au lieu de "192.168.99.100' en suivant les instructions:L'étape n ° 01:
Vous verrez l'adresse IP par défaut
Étape n ° 02:
L'étape n ° 03:
VirtualBox Manager
)i.e, app name : nginx, host: 127.0.0.1, host port: 80, guest port: 80
Étape n ° 04:
Maintenant, vous êtes prêt à commencer votre menu fixe de la Machine en exécutant la commande suivante:
Ensuite il suffit de commencer votre conteneur Docker et vous serez en mesure d'y accéder via localhost.
Jetez un oeil ici pour plus de détails.
Pour mapper les ports devraient
localhost
au lieu de frapper le docker-IP de l'appareil directement, vous pouvez utiliser VirtualBox CLI.Si le docker-lavable en machine virtuelle (appelée ici
default
) est en cours d'exécution, d'ajouter et de supprimer des règles comme ceci:Si la VM n'est pas en cours d'exécution, ou si vous voulez arrêter avant de le modifier:
Où le format de la règle de redirection de port est
[<name>],tcp|udp,[<hostip>],<hostport>,[<guestip>], <guestport>
.Noter que dans VirtualBox, vous souhaitez mapper à la hôte port de Panneau de carte, pas de l'intérieur du container au port. Vous êtes à la cartographie de l'hôte -> VM, puis Docker cartes VM -> container.
Voir le VirtualBox docs.