Port mapping in Docker on Mac OSX installed with D

2019-08-09 22:56发布

问题:

I installed Docker on a Mac using the Docker Toolbox.

I opened Docker Quickstart Terminal and ran

docker run hello-world

That works fine.

Then I tried:

docker run -d -p 8080:80 nginx

I can see that the container is added. docker log with the container id returns nothing but I think that's normal?

When I browse to localhost:8080 with chrome I don't see the nginx welcome page. I've tried running a few different containers that are supposed to serve traffic but none of them have worked. The existing github issues and SO questions all seem to be talking about things which don't exist anymore - or at least are not default on Mac OSX.

回答1:

localhost is not the host where your docker is running. You need to go to the IP address of your running docker daemon.

To find the IP address for your docker machine, run the command:

docker-machine ip default

where default is the name of your VM (as is the case I think for most installations).

If that command returned something like 192.168.99.100, then you can reach your running docker container and it's exposed port like this: 192.168.99.100:8080.