Use host networkingEstimated reading time: 1 minute
If you use the
host network driver for a container, that container’s network
stack is not isolated from the Docker host. For instance, if you run a container
which binds to port 80 and you use
host networking, the container’s
application will be available on port 80 on the host’s IP address.
The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.
In Docker 17.06 and higher, you can also use a
host network for a swarm
service, by passing
--network host to the
docker container create command.
In this case, control traffic (traffic related to managing the swarm and the
service) is still sent across an overlay network, but the individual swarm
service containers send data using the Docker daemon’s host network and ports.
This creates some extra limitations. For instance, if a service container binds
to port 80, only one service container can run on a given swarm node.
If your container or service publishes no ports, host networking has no effect.
- Go through the host networking tutorial
- Learn about networking from the container’s point of view
- Learn about bridge networks
- Learn about overlay networks
- Learn about Macvlan networks