Docker --net=host does not forward ports

Posted January 6, 2017 14.2k views
DockerUbuntu 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

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
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.