Use host networking
Estimated reading time: 1 minuteIf 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.
Next steps
- 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