Skip to content

Commit a39a296

Browse files
committed
SME review
1 parent 21e464a commit a39a296

File tree

1 file changed

+24
-8
lines changed
  • content/manuals/desktop/features/networking

1 file changed

+24
-8
lines changed

content/manuals/desktop/features/networking/_index.md

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,32 @@ This page explains how Docker Desktop routes network traffic and file I/O betwee
1010

1111
## Overview
1212

13-
Docker Desktop runs the Docker Engine inside a lightweight Linux virtual machine (VM). Docker Desktop routes all network and file operations between the Docker VM and the host through the `com.docker.backend` process.
13+
Docker Desktop runs the Docker Engine inside a lightweight Linux virtual machine (VM). Depending on your system configuration and operating system, Docker Desktop routes network and file operations between the Docker VM and the host using different backend components.
14+
15+
### Backend components and responsibilities
1416

1517
Th backend acts as:
1618

17-
- A network proxy, translating traffic between the host and Linux VM.
18-
- A file server, using gRPC FUSE which handles file access from containers to the host filesystem.
19-
- A control plane, handling Docker API calls, port forwarding, and proxy settings.
19+
- Network proxy: Translates traffic between the host and Linux VM.
20+
- On Windows and Mac, this is handled by the `com.docker.backend` process.
21+
- On Linux, the `qemu` process performs this function.
22+
- File server: Handles file access from containers to the host filesystem.
23+
- When using gRPC FUSE, the backend performs the file sharing.
24+
- When using `virtiofs`, `osxfs`, or `krun`, file access is handled by those respective daemons rather than the backend process.
25+
- Control plane: Manages Docker API calls, port forwarding, and proxy configuration.
26+
27+
The following table summarizes typical setups in more detail:
28+
29+
| Platform | Setup | Networking handled by | File sharing handled by | Notes |
30+
| --------------- | ------------------------------------ | ------------------------ | -------------------------------------- | --------------------------------------------------------- |
31+
| Windows | Hyper-V | `com.docker.backend.exe` | `com.docker.backend.exe` | Simplest setup with full visibility to EDR/firewall tools |
32+
| Windows (WSL 2) | WSL 2 | `com.docker.backend.exe` | WSL 2 kernel (no visibility from host) | Recommended only when WSL 2 integration is needed |
33+
| macOS | virtualization.framework + gRPC FUSE | `com.docker.backend` | `com.docker.backend` | Recommended for performance and visibility |
34+
| macOS | virtualization.framework + virtiofs | `com.docker.backend` | `virtiofsd` | No file access visibility from host |
35+
| macOS | virtualization.framework + osxfs | `com.docker.backend` | `com.docker.osxfs` | Legacy setup, not recommended |
36+
| macOS | DockerVMM + virtiofs | `com.docker.backend` | `com.docker.krun` | Used in certain fallback modes |
37+
| Linux | Native Linux VM | `qemu` | `virtiofsd` | No `com.docker.backend` process on Linux |
38+
2039

2140
## How containers connect to the internet
2241

@@ -64,17 +83,14 @@ Note that:
6483

6584
## Firewalls and endpoint visibility
6685

67-
Docker Desktop doesn't include a built-in firewall.
68-
6986
To restrict VM or container networking apply rules to `com.docker.backend.exe` (Windows) `com.docker.backend` (Mac) or `qemu` (Linux) as all VM networking is funneled through these processes.
7087

7188
Use Windows Defender Firewall or enterprise endpoint firewalls for control. This enables traffic inspection and restriction at the host level without modifying the Docker Engine.
7289

73-
CrowdStrike and similar tools can observe all traffic and file access that passes through the backend process. To monitor in-VM operations, install the agent inside the Docker VM.
90+
Crowdstrike and similar tools can observe all traffic and file access that passes through the backend process.
7491

7592
| Action | Visible to host EDR? | Reason |
7693
|---------|----------------------|---------|
7794
| Container reads host files | Yes | Access handled by `com.docker.backend` |
7895
| Container writes host files | Yes | Same process performs the write |
7996
| Container accesses its own filesystem layers | No | Exists only inside the VM |
80-
| Endpoint agent inside VM | Yes | Full visibility |

0 commit comments

Comments
 (0)