instruction: Explain Host network driver
output: Back
  Ask AI
  Start typing to search or try
  Contact support
  Manuals
  Get started
  Guides
  Host network driver
  Page options
  Copy page as Markdown for LLMs
  View page as plain text
  Ask questions with Docs AI
  Claude
  Open in Claude
  If you use the
  host
  network mode for a container, that container's network
  stack isn't isolated from the Docker host (the container shares the host's
  networking namespace), and the container doesn't get its own IP-address allocated.
  For instance, if you run a container which binds to port 80 and you use
  host
  networking, the container's application is available on port 80 on the host's IP
  address.
  Note
  Given that the container does not have its own IP-address when using
  host
  mode networking,
  port-mapping
  doesn't
  take effect, and the
  --publish
  , and
  --publish-all
  option are
  ignored, producing a warning instead:
  WARNING: Published ports are discarded when using host network mode
  Host mode networking can be useful for the following use cases:
  To optimize performance
  In situations where a container needs to handle a large range of ports
  This is because it doesn't require network address translation (NAT), and no "userland-proxy" is created for each port.
  The host networking driver is supported on Docker Engine (Linux only) and Docker Desktop version 4.34 and later.
  You can also use a
  host
  network for a swarm service, by passing
  --network host
  to the
  docker service 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.
  Docker Desktop
  Host networking is supported on Docker Desktop version 4.34 and later.
  To enable this feature:
  Sign in to your Docker account in Docker Desktop.
  Navigate to
  Settings
  Under the
  Resources
  tab, select
  Network
  Check the
  Enable host networking
  option.
  Select
  Apply and restart
  This feature works in both directions. This means you can
  access a server that is running in a container from your host and you can access
  servers running on your host from any container that is started with host
  networking enabled. TCP as well as UDP are supported as communication protocols.
  Examples
  The following command starts netcat in a container that listens on port
  docker run --rm -it --net
  host nicolaka/netshoot nc -lkv 0.0.0.0
  Port
  will then be available on the host and you can connect to it with the following
  command from another terminal:
  nc localhost
  What you type in here will then appear on the terminal where the container is
  running.
  To access a service running on the host from the container, you can start a container with
  host networking enabled with this command:
  docker run --rm -it --net
  host nicolaka/netshoot
  If you then want to access a service on your host from the container (in this
  example a web server running on port
  ), you can do it like this:
  nc localhost
  Limitations
  Processes inside the container cannot bind to the IP addresses of the host
  because the container has no direct access to the interfaces of the host.
  The host network feature of Docker Desktop works on layer 4. This means that
  unlike with Docker on Linux, network protocols that operate below TCP or UDP are
  not supported.
  This feature doesn't work with Enhanced Container Isolation enabled, since
  isolating your containers from the host and allowing them access to the host
  network contradict each other.
  Only Linux containers are supported. Host networking does not work with
  Windows containers.
  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