Can't get docker to accept request over the internet Can't get docker to accept request over the internet jenkins jenkins

Can't get docker to accept request over the internet


If you are running this:

docker run -p 8080:8080 jenkins

Then to connect to jenkins you will have to connect to (in essence you are doing port forwarding):

http://127.0.0.1:8080 or http://localhost:8080

If you are just running this:

docker run jenkins

You can connect to jenkins using the container's IP

http://<containers-ip>:8080

The Dockerfile when the Jenkins container is built already exposes port 8080


The Docker Site has a great amount of information on container networks.https://docs.docker.com/articles/networking

"By default Docker containers can make connections to the outside world, but the outside world cannot connect to containers."

You will need to provide special options when invoking docker run in order for containers to accept incoming connections.

Use the -P or --publish-all=true|false for containers to accept incoming connections.

The below should allow you to access it from another network:

docker run -P -p 8080:8080 jenkins 


if you can connect to Jenkins over local network from a machine different than the one docker is running on but not from outside your local network, then the problem is not docker. In this case the problem is what ever machine who is receiving outside connection (normally your router, modem or ...) does not know to which machine the outside request should be forwarded.

You have to make sure you are forwarding the proper port on your external IP to proper port on the machine which is running Docker. This can be normally done on your internet modem/router.