Reputation: 15395
I've installed Docker Toolbox in macOS and I'm following Docker's simple tutorial on deploying Nginx.
I've executed docker run
and confirmed that my container has been created:
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
however when I curl http://localhost:32770
, I get a connection refused error:
curl: (7) Failed to connect to localhost port 32770: Connection refused
I'm struggling to see what I could have missed here. Is there an extra step I need to perform, in light of me being on macOS?
Upvotes: 34
Views: 28502
Reputation: 407
In Mac for versions above 10, you can try using "docker.for.mac.host.internal" instead of "localhost"
EDIT: docker.for.mac.host.internal is deprecated, they switched to host.docker.internal. Reference: https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds
Upvotes: 0
Reputation: 2209
If you on OS X 10.10.3 Yosemite or newer and using Docker for Mac, you will not have docker-machine or docker toolbox or DOCKER_HOST to worry about.
Just map the port on run command local-port:container-port
docker run --name my-web -p 8080:80
Upvotes: 3
Reputation: 569
docker-machine ip default
xxx.docker.machine.ip
Then
curl http://xxx.docker.machine.ip:32770
Upvotes: 3
Reputation: 10464
The issue is that your DOCKER_HOST
is not set to localhost, you will need to use the IP address of your docker-machine, since you are using Docker Toolbox:
docker-machine ip default
# should return your IP address.
See Docker Toolbox Docs for more information.
Upvotes: 59