Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita6a8a06

Browse files
docs: update boundary docs (#20958)
1 parente3671f3 commita6a8a06

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

‎docs/ai-coder/agent-boundary.md‎

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,75 @@ You can also run Agent Boundaries directly in your workspace and configure it pe
102102
```hcl
103103
curl -fsSL https://raw.githubusercontent.com/coder/boundary/main/install.sh | bash
104104
```
105+
106+
## Runtime & Permission Requirements for Running the Boundary in Docker
107+
108+
This section describes the Linux capabilities and runtime configurations required to run the Agent Boundary inside a Docker container. Requirements vary depending on the OCI runtime and the seccomp profile in use.
109+
110+
### 1. Default `runc` runtime with `CAP_NET_ADMIN`
111+
112+
When using Docker’s default `runc` runtime, the Boundary requires the container to have `CAP_NET_ADMIN`. This is the minimal capability needed for configuring virtual networking inside the container.
113+
114+
Docker’s default seccomp profile may also block certain syscalls (such as `clone`) required for creating unprivileged network namespaces. If you encounter these restrictions, you may need to update or override the seccomp profile to allow these syscalls.
115+
116+
[see Docker Seccomp Profile Considerations](#docker-seccomp-profile-considerations)
117+
118+
### 2. Default `runc` runtime with `CAP_SYS_ADMIN` (testing only)
119+
120+
For development or testing environments, you may grant the container `CAP_SYS_ADMIN`, which implicitly bypasses many of the restrictions in Docker’s default seccomp profile.
121+
122+
-The Boundary does not require `CAP_SYS_ADMIN` itself.
123+
-However, Docker’s default seccomp policy commonly blocks namespace-related syscalls unless `CAP_SYS_ADMIN` is present.
124+
-Granting `CAP_SYS_ADMIN` enables the Boundary to run without modifying the seccomp profile.
125+
126+
⚠️ Warning:`CAP_SYS_ADMIN`is extremely powerful and should not be used in production unless absolutely necessary.
127+
128+
### 3. `sysbox-runc` runtime with `CAP_NET_ADMIN`
129+
130+
When using the `sysbox-runc` runtime (from Nestybox), the Boundary can run with only:
131+
132+
-`CAP_NET_ADMIN`
133+
134+
The sysbox-runc runtime provides more complete support for unprivileged user namespaces and nested containerization, which typically eliminates the need for seccomp profile modifications.
135+
136+
## Docker Seccomp Profile Considerations
137+
138+
Docker’s default seccomp profile frequently blocks the `clone` syscall, which is required by the Boundary when creating unprivileged network namespaces. If the `clone` syscall is denied, the Boundary will fail to start.
139+
140+
To address this, you may need to modify or override the seccomp profile used by your container to explicitly allow the required `clone` variants.
141+
142+
You can find the default Docker seccomp profile for your Docker version here (specify your docker version):
143+
144+
https://github.com/moby/moby/blob/v25.0.13/profiles/seccomp/default.json#L628-L635
145+
146+
If the profile blocks the necessary `clone` syscall arguments, you can provide a custom seccomp profile that adds an allow rule like the following:
147+
148+
```json
149+
{
150+
"names": [
151+
"clone"
152+
],
153+
"action": "SCMP_ACT_ALLOW"
154+
}
155+
```
156+
157+
This example unblocks the clone syscall entirely.
158+
159+
### Example: Overriding the Docker Seccomp Profile
160+
161+
To use a custom seccomp profile, start by downloading the default profile for your Docker version:
162+
163+
https://github.com/moby/moby/blob/v25.0.13/profiles/seccomp/default.json#L628-L635
164+
165+
Save it locally as seccomp-v25.0.13.json, then insert the clone allow rule shown above (or add "clone" to the list of allowed syscalls).
166+
167+
Once updated, you can run the container with the custom seccomp profile:
168+
169+
```bash
170+
docker run -it \
171+
--cap-add=NET_ADMIN \
172+
--security-opt seccomp=seccomp-v25.0.13.json \
173+
test bash
174+
```
175+
176+
This instructs Docker to load your modified seccomp profile while granting only the minimal required capability (`CAP_NET_ADMIN`).

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp