Docker --net=host does not forward ports

January 6, 2017 5.9k views
Docker Ubuntu 16.04

On my local machine setting --net=host on a container makes the container visible on any ports it is using. On a Docker Ubuntu 16.04 droplet the port is not accessible with --net=host.

Simplified Example:

This works:
docker run -p 8000:8000 -it python python -m http.server

This does not work:
docker run --net=host -p 8000:8000 -it python python -m http.server

How can I make the ports of the container application exposed with docker run --net=host ...?

1 comment
  • Quick Note:

    docker run --net=host -p 8000:8000 -it python python -m http.server

    works on regular DigitalOcean Ubuntu droplets- that is how I am currently mitigating my issue

1 Answer

Sorry to see that your question hasn't received an answer yet. I've just spun up a new Docker Droplet (17.12.0~ce on 16.04) and was able to access port 8000 using both commands you posted, as well as just docker run --net=host -it python python -m http.server. I had to open port 8000 on the firewall, though (ufw allow 8000).

It's possible that it was a temporary issue that was resolved.

Have another answer? Share your knowledge.