Overview
The Networks page provides management of Docker networks across your environments. It supports all Docker network drivers (bridge, host, overlay, macvlan, ipvlan) and enables connecting/disconnecting containers to networks with advanced configuration.Key Features
Network Management
- All Network Types: Support for bridge, host, overlay, macvlan, ipvlan, and custom drivers
- Network Drivers: Color-coded badges for easy identification
- IPAM Configuration: Manage IP address allocation (subnets, gateways, IP ranges)
- Network Scope: Local, swarm, or global networks
- Container Connectivity: View and manage which containers are connected
Network Operations
Create Networks:- Select network driver (bridge, overlay, macvlan, etc.)
- Configure subnet and gateway
- Set IP range restrictions
- Add custom driver options
- Define labels for organization
- Enable/disable internal mode
- IPv6 support
- Connect containers to networks
- Disconnect containers from networks
- Inspect network details (IPAM, options, containers)
- Copy network ID to clipboard
- Duplicate network with similar configuration
- Remove networks (with protection for built-in networks)
- Select multiple networks
- Bulk removal of unused networks
- Prune unused networks
Built-in Networks
Docker provides three built-in networks that cannot be removed:- bridge: Default network for containers
- host: Uses host’s network stack directly
- none: Isolated network with no connectivity
Container Connection Management
Connect Container:- Choose container from dropdown
- Configure network-specific settings:
- Custom IP address (optional)
- IP aliases
- Network aliases
- Links to other containers
- Container joins network immediately
- View containers connected to network
- Click disconnect icon
- Confirm disconnection
- Container removed from network
Filtering and Search
- Text Search: Filter by network name, driver, or container names
- Driver Filter: Multi-select for network drivers
- Scope Filter: Filter by local, swarm, or global scope
- Persistent Filters: Saved to local storage
UI Features
Network Table:- Sortable columns
- Status indicators for network state
- Container count per network
- IPAM configuration display
- Quick action buttons
- Bridge: Emerald green
- Host: Sky blue
- Overlay: Violet
- Macvlan: Amber
- Ipvlan: Orange
- None: Gray
How to Use
Creating a Network
- Click the Create button
- Basic Configuration:
- Enter unique network name
- Select driver type
- Choose scope (local or swarm)
- IPAM Configuration (optional):
- Subnet:
172.18.0.0/16 - Gateway:
172.18.0.1 - IP Range:
172.18.5.0/24
- Subnet:
- Advanced Options:
- Internal network (no external connectivity)
- Attachable (for swarm services)
- Enable IPv6
- Custom driver options
- Click Create to create the network
Connecting a Container
- Click the Link icon on a network row
- Select Container:
- Choose from available containers
- Only shows containers not already on network
- Network Settings (optional):
- IPv4 Address: Assign static IP
- IPv6 Address: Assign static IPv6
- Aliases: DNS aliases for the container
- Links: Legacy container linking
- Click Connect
- Container immediately joins the network
Disconnecting a Container
- Expand network details (if collapsed)
- Find container in connected containers list
- Click the Disconnect icon
- Confirm disconnection
- Container leaves the network
Inspecting Network Details
- Click the Eye icon on a network row
- Network Information:
- Network ID
- Driver and scope
- IPAM configuration
- Gateway and subnet
- Driver options
- Labels
- Connected Containers:
- Container ID and name
- IPv4 and IPv6 addresses
- MAC address
- Copy any value to clipboard
Duplicating a Network
- Click the Copy Plus icon
- Network is copied with:
- Same driver and options
- New name:
{original-name}-copy - Note: IPAM config (subnet/gateway) is NOT copied to avoid conflicts
- Edit the new network to set subnet/gateway
Removing Networks
Single Network:- Click the Remove icon (not available for built-in networks)
- Confirm deletion
- Network is removed from Docker
- Select networks using checkboxes
- Click Delete in selection bar
- Confirm bulk deletion
- All selected networks removed
- Click Prune button
- Confirms removal of all unused networks
- Networks with no containers are removed
UI Walkthrough
Header Section
- Title: “Networks” with total count
- Search Bar: Filter by name, driver, or containers
- Driver Filter: Multi-select dropdown
- Scope Filter: Multi-select dropdown
- Prune Button: Remove unused networks
- Refresh: Manually refresh network list
- Create Button: Open network creation modal
Selection Bar
Appears when networks are selected:- Number of selected networks
- Clear: Deselect all networks
- Delete: Remove selected networks (excludes built-in)
Network Table
Columns:- Checkbox: Select for bulk operations (disabled for built-in)
- Name: Network name with badges
- Driver: Driver type badge
- Scope: Local/Swarm/Global
- Subnet: IPAM subnet configuration
- Gateway: IPAM gateway address
- Containers: Number of connected containers
- Actions: Quick action buttons
- built-in: Gray badge for Docker’s default networks
- internal: Outlined badge for internal-only networks
- Eye: View network details
- Link: Connect container to network
- Copy: Copy network ID to clipboard
- Copy Plus: Duplicate network configuration
- Remove: Delete network (only for non-built-in)
Network Details Modal
Sections:-
Overview:
- Network ID
- Driver and scope
- Created timestamp
- Internal flag
- IPv6 enabled
-
IPAM Configuration:
- Driver
- Subnet
- Gateway
- IP Range
- Auxiliary addresses
-
Driver Options:
- Key-value pairs
- Custom configuration
-
Connected Containers:
- Container name (clickable)
- IPv4 address
- IPv6 address
- MAC address
- Network aliases
-
Labels:
- Key-value pairs
- User and system labels
Real Examples
Example: Bridge Network
Example: Overlay Network (Swarm)
Example: Macvlan Network
Example: Internal Network
Database Schema
Networks are managed through the Docker API and don’t have persistent storage in Dockhand’s database. All network data is retrieved directly from Docker. Docker API Response includes:- Network ID and name
- Driver and scope
- IPAM configuration
- Connected containers
- Driver options
- Labels
- Creation timestamp
Technical Details
Network Drivers
Bridge:- Default driver for standalone containers
- Software bridge on host
- Containers on same bridge can communicate
- NAT for external connectivity
- No network isolation
- Container uses host’s network directly
- No port mapping needed
- Performance benefits
- Security trade-offs
- Multi-host networking for Swarm
- Encrypted traffic between hosts
- Service discovery built-in
- Load balancing support
- Assign MAC address to container
- Container appears as physical device
- Direct connection to physical network
- No NAT overhead
- Similar to macvlan
- Uses IP addresses instead of MAC
- Better for large deployments
- L2 or L3 mode
IPAM (IP Address Management)
- Subnet: CIDR notation (e.g.,
172.18.0.0/16) - Gateway: First usable IP in subnet
- IP Range: Restrict IPs allocated to containers
- Auxiliary Addresses: Reserved IPs for special use
Performance
- Real-Time Updates: SSE events for network changes
- Lazy Loading: Network details loaded on demand
- Cached Data: Network list cached for 30 seconds
- Batch Operations: Parallel execution for bulk actions
API Endpoints
GET /api/networks- List all networksPOST /api/networks- Create networkGET /api/networks/:id- Get network detailsDELETE /api/networks/:id- Remove networkPOST /api/networks/:id/connect- Connect containerPOST /api/networks/:id/disconnect- Disconnect containerPOST /api/prune/networks- Prune unused networks
