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?
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.
docker-machine ip default
xxx.docker.machine.ip
Ensuite
curl http://xxx.docker.machine.ip:32770
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