web-dev-qa-db-fra.com

Connexion refusée sur le conteneur Docker Nginx

J'ai installé Docker Toolbox dans macOS et je suis le tutoriel simple de Docker sur déployant Nginx .

J'ai exécuté docker run et a confirmé que mon conteneur a été créé:

docker run --name mynginx1 -P -d nginx
docker ps
40001fc50719  nginx  "nginx -g 'daemon off"  23 minutes ago  Up 23 minutes  0.0.0.0:32770->80/tcp, 0.0.0.0:32769->443/tcp  mynginx1

mais quand je curl http://localhost:32770, J'obtiens une erreur de connexion refusée:

curl: (7) Failed to connect to localhost port 32770: Connection refused

J'ai du mal à voir ce que j'aurais pu manquer ici. Y a-t-il une étape supplémentaire que je dois effectuer, étant donné que je suis sous macOS?

30
Jonathan

Le problème est que votre DOCKER_Host n'est pas défini sur localhost, vous devrez utiliser l'adresse IP de votre docker-machine, car vous utilisez Docker Toolbox:

docker-machine ip default # devrait renvoyer votre adresse IP.

Voir Docker Toolbox Docs pour plus d'informations.

56
Michael
docker-machine ip default
xxx.docker.machine.ip

Ensuite

curl http://xxx.docker.machine.ip:32770
3
alexis

Si vous utilisez OS X 10.10.3 Yosemite ou une version plus récente et que vous utilisez Docker pour Mac, vous n'aurez pas à vous soucier de docker-machine ou de boîte à outils docker ou de DOCKER_Host.

Mappez simplement le port sur la commande run local-port: container-port

docker run --name my-web  -p 8080:80
2
Code Tree