Bird
Raised Fist0
Dockerdevops~5 mins

Network drivers (bridge, host, overlay, none) in Docker - Commands & Configuration

Choose your learning style10 modes available
Introduction
Docker network drivers control how containers communicate with each other and the outside world. They solve the problem of connecting containers in different ways depending on your needs.
When you want containers on the same host to communicate privately using a bridge network.
When you want a container to share the host's network stack directly for better performance.
When you need containers across multiple hosts to communicate securely using an overlay network.
When you want to disable all networking for a container for security or testing.
Commands
This command creates a new bridge network named 'my-bridge-network' for containers to communicate on the same host.
Terminal
docker network create my-bridge-network
Expected OutputExpected
a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6
Runs a container named 'container1' attached to the 'my-bridge-network' bridge network so it can communicate with other containers on this network.
Terminal
docker run -d --name container1 --network my-bridge-network nginx
Expected OutputExpected
d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6
→
--network - Specifies which network the container connects to
Creates a network using the host driver where containers share the host's network stack directly.
Terminal
docker network create --driver host my-host-network
Expected OutputExpected
z9y8x7w6v5u4t3s2r1q0p9o8n7m6l5k4j3i2h1g0f9e8d7c6b5a4
→
--driver - Sets the network driver to host
Runs a container named 'container2' using the host network driver, so it shares the host's network directly without isolation.
Terminal
docker run -d --name container2 --network host nginx
Expected OutputExpected
f1e2d3c4b5a697887766554433221100ffeeddccbbaa99887766554433221100
→
--network - Connects the container to the host network
Creates an overlay network named 'my-overlay-network' to allow containers on different Docker hosts to communicate securely.
Terminal
docker network create --driver overlay my-overlay-network
Expected OutputExpected
1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
→
--driver - Sets the network driver to overlay
Creates a network with no connectivity, isolating containers completely from any network.
Terminal
docker network create --driver none my-none-network
Expected OutputExpected
abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890
→
--driver - Disables networking for containers on this network
Key Concept

If you remember nothing else from this pattern, remember: Docker network drivers control how containers connect and communicate, choosing the right driver fits your app's communication needs.

Common Mistakes
Not specifying the network driver when creating a network and expecting a specific behavior.
Docker defaults to the bridge driver, which may not work for multi-host communication or host networking needs.
Always specify the correct driver with --driver when creating a network if you need host, overlay, or none behavior.
Running containers without specifying the network and expecting them to communicate across hosts.
Containers on the default bridge network cannot communicate across different Docker hosts.
Use an overlay network for multi-host container communication.
Using the host network driver on Windows or Mac Docker Desktop environments.
Host networking is not supported on Windows or Mac Docker Desktop, causing errors or unexpected behavior.
Use bridge or overlay networks on these platforms instead.
Summary
Create networks with different drivers to control container communication modes.
Use bridge for same-host container communication, host for sharing host network, overlay for multi-host, and none to isolate.
Attach containers to these networks using the --network flag during docker run.

Practice

(1/5)
1. Which Docker network driver allows containers on the same host to communicate using a private internal network?
easy
A. bridge
B. host
C. overlay
D. none

Solution

  1. Step 1: Understand the purpose of the bridge driver

    The bridge driver creates a private network internal to the host, allowing containers to communicate securely on the same machine.
  2. Step 2: Compare with other drivers

    The host driver uses the host's network directly, overlay connects containers across hosts, and none disables networking.
  3. Final Answer:

    bridge -> Option A
  4. Quick Check:

    Private internal network = bridge [OK]
Hint: Bridge = private network on one host [OK]
Common Mistakes:
  • Confusing host with bridge driver
  • Thinking overlay works on single host only
  • Assuming none allows communication
2. Which command correctly creates a Docker container using the host network driver?
easy
A. docker run --network=bridge nginx
B. docker run --net=overlay nginx
C. docker run --network=host nginx
D. docker run --network=none nginx

Solution

  1. Step 1: Identify the correct syntax for network option

    The correct flag is --network= followed by the driver name, e.g., host.
  2. Step 2: Match the driver to the command

    docker run --network=host nginx uses --network=host which is the correct way to assign the host network driver.
  3. Final Answer:

    docker run --network=host nginx -> Option C
  4. Quick Check:

    Use --network=host for host driver [OK]
Hint: Use --network=host to assign host driver [OK]
Common Mistakes:
  • Using --net=overlay instead of --network=overlay
  • Confusing bridge and host flags
  • Omitting the network flag
3. Given two Docker hosts connected with an overlay network named mynet, what will happen if you run docker network inspect mynet on one host?
medium
A. It shows no containers because overlay networks isolate containers
B. It shows only local bridge network details
C. It returns an error because overlay networks can't be inspected
D. It shows details of the overlay network including connected containers across hosts

Solution

  1. Step 1: Understand overlay network scope

    Overlay networks span multiple Docker hosts, connecting containers across them.
  2. Step 2: Inspect command behavior

    docker network inspect shows detailed info about the network, including containers connected on all hosts.
  3. Final Answer:

    It shows details of the overlay network including connected containers across hosts -> Option D
  4. Quick Check:

    Overlay network inspect shows multi-host details [OK]
Hint: Overlay networks span hosts; inspect shows all connected containers [OK]
Common Mistakes:
  • Thinking overlay networks can't be inspected
  • Assuming inspect shows only local containers
  • Confusing overlay with none driver
4. You created a container with --network=none but it still can ping the host. What is the likely cause?
medium
A. The container has another network interface configured manually
B. The none driver allows all network traffic by default
C. Docker daemon is ignoring the network flag
D. The container is running in host network mode

Solution

  1. Step 1: Understand the none network driver

    The none driver disables Docker-managed networking, so no automatic network interfaces are created.
  2. Step 2: Analyze why container can ping host

    If the container can ping the host, it likely has a manually configured network interface inside the container.
  3. Final Answer:

    The container has another network interface configured manually -> Option A
  4. Quick Check:

    none disables Docker network; manual config allows connectivity [OK]
Hint: none disables Docker network; manual setup can override [OK]
Common Mistakes:
  • Assuming none allows all traffic
  • Thinking Docker ignores network flags
  • Confusing none with host driver
5. You want to deploy a multi-host Docker Swarm service where containers communicate securely across hosts. Which network driver should you use and why?
hard
A. bridge, because it isolates containers on each host
B. overlay, because it connects containers across multiple hosts securely
C. host, because it uses the host network for better performance
D. none, because it disables networking for security

Solution

  1. Step 1: Identify network needs for multi-host communication

    Containers on different hosts need a network driver that spans hosts and provides secure communication.
  2. Step 2: Match drivers to requirements

    Bridge works only on one host, host shares host network (not multi-host), none disables networking, overlay connects containers across hosts securely.
  3. Final Answer:

    overlay, because it connects containers across multiple hosts securely -> Option B
  4. Quick Check:

    Multi-host secure communication = overlay [OK]
Hint: Overlay = multi-host secure network [OK]
Common Mistakes:
  • Choosing bridge for multi-host
  • Using host driver for container isolation
  • Thinking none enables communication
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard