4585 Commits

Author SHA1 Message Date
David Karlsson d6812eb6b1 docs: clarify subuid/subgid mapping in rootless vs userns-remap (#24845)
Fixes #23664.

The rootless docs compared rootless to userns-remap only in terms of
daemon privileges, never mentioning that the container-to-host UID
mapping also differs. Adds a short bullet list after the existing
comparison to spell it out and note the practical impact on bind-mount
file ownership.
2026-06-08 16:09:10 +02:00
Louis-Arnaud Catoire 2d7809c7a7 docs: clarify subuid/subgid mapping in rootless vs userns-remap 2026-06-08 15:35:00 +02:00
Alexa Kristensen 5852db0817 Add missing alias (#25269)
Per IAM sync, add missing alias
2026-06-08 08:20:34 -05:00
David Karlsson 798187a5b0 sbx: document OS-specific filesystem rule paths
Filesystem rule examples only showed POSIX paths and never explained that
rules match the path format of the developer's OS. Add Windows drive-letter
and backslash syntax (including the *: any-drive wildcard), note WSL support,
and call out that a multi-platform policy needs a rule per path format.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 15:00:20 +02:00
Craig Osterhout f8f76f1609 dhi: clean up wording (#25270)
<!--Delete sections as needed -->

## Description

Removed `comes with` and `built-in` as they're misleading. The
attestations are separate from the image.


## Related issues or tickets

https://docker.slack.com/archives/C0989V6TAK0/p1780606035242419

## Reviews

<!-- Notes for reviewers here -->
<!-- List applicable reviews (optionally @tag reviewers) -->

- [ ] Editorial review

Signed-off-by: Craig Osterhout <craig.osterhout@docker.com>
2026-06-08 13:37:12 +01:00
Craig Osterhout 7b4c8873dd admin: add redirect (#25288)
<!--Delete sections as needed -->

## Description

Added redirect 
## Related issues or tickets

https://docker.slack.com/archives/C04300R4G5U/p1780691568398049

## Reviews

<!-- Notes for reviewers here -->
<!-- List applicable reviews (optionally @tag reviewers) -->

- [ ] Editorial review

Signed-off-by: Craig Osterhout <craig.osterhout@docker.com>
2026-06-06 01:18:52 +02:00
David Karlsson 6488f49092 sbx: document 1Password op run pattern for per-launch credential injection (#25274)
## Summary

- Splits the "Sourcing credentials from 1Password" section in
`workflows.md` into two subsections: one for persistent setup via `op
read | sbx secret set`, one for per-launch injection via `op run -- sbx
run <agent>`
- The `op run` pattern resolves `op://` references at launch time
without storing anything; works because `sbx` reads the built-in service
env vars (`ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, etc.) from the host
environment — not arbitrary vars
- Includes a `.env` file variant for injecting multiple credentials at
once
- Adds a 1Password bullet to the Best practices section in
`credentials.md` linking back to the new workflows section

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 15:10:32 +02:00
David Karlsson 5499d25b76 docs: add internal CA sandbox troubleshooting (#25198)
## Summary

Add troubleshooting guidance for Docker Sandboxes users whose internal
HTTPS inspection proxy requires a custom CA certificate inside the
sandbox. The section covers repeatable setup with a sandbox kit, one-off
setup for existing sandboxes, Node.js CA configuration, and policy log
diagnostics.

Generated by Codex

---------

Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 15:06:43 +02:00
David Karlsson 40eb1f78c5 docs(sandboxes): document file.parser and deniedDomains in kits spec (#25030)
## Summary

- Adds a `#### file.parser` subsection under the Credentials spec
reference, covering supported forms (`json:<dot.path>` and plain text),
JSON path rules and limitations, priority/fallback behaviour for missing
files, worked examples, and common error messages. Behaviour verified
against `sandboxd/pkg/secrets/store.go`.
- Adds `deniedDomains` to the Network spec reference table, which was
missing despite being a supported field. Deny rules take precedence over
allow rules including those from composed kits.

## Test plan

- [ ] `docker buildx bake lint vale` — passes clean for this file
- [ ] Spot-check rendered output on staging

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 15:06:15 +02:00
Tiara Johnson 1c519b2a8f Contact Sales CTAs tracking id (#25267)
<!--Delete sections as needed -->

## Description
Adding element ids to Contact Sales CTAs in all of Docs. This will allow
us to track funnel metrics better.

https://docs.google.com/spreadsheets/d/1NBEpc3ZZNnF8CH-XU34AKRERoTye3QBCCdRyNpGDjRE/edit?usp=sharing

<!-- Tell us what you did and why -->

## Related issues or tickets
https://docker.atlassian.net/browse/GRO-376

<!-- Related issues, pull requests, or Jira tickets -->

## Reviews

<!-- Notes for reviewers here -->
<!-- List applicable reviews (optionally @tag reviewers) -->

- [ ] Technical review
- [ ] Editorial review
- [ ] Product review
2026-06-05 07:32:08 -05:00
David Karlsson c955185dfc sbx: add OpenRouter provider to agent authentication docs
Adds `sbx secret set -g openrouter` and `OPENROUTER_API_KEY` to the
Authentication sections of docker-agent.md and opencode.md, matching the
openrouter support added in docker/sandboxes#3244.

Also corrects the Google env var in opencode.md from `GOOGLE_API_KEY` to
`GOOGLE_GENERATIVE_AI_API_KEY`, which is the name OpenCode actually uses.

Fixes #25273

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 13:45:13 +02:00
David Karlsson af923dde80 sbx: update policy commands for new global-default syntax
Remove the `-g` flag from all `sbx policy allow/deny/rm` examples — global
scope is now the default. Replace positional sandbox names with the new
`--sandbox <name>` flag for sandbox-scoped rules.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 13:32:35 +02:00
Craig Osterhout e4a0ed2bbc dhi: refresh migration examples (#25210)
<!--Delete sections as needed -->

## Description

Current examples use images that no longer exist. Updated examples to
images that exist.

Samples to verify with:
https://github.com/craig-osterhout/dhi-migration-verify

## Related issues or tickets

<!-- Related issues, pull requests, or Jira tickets -->

## Reviews

<!-- Notes for reviewers here -->
<!-- List applicable reviews (optionally @tag reviewers) -->

- [ ] Editorial review

Signed-off-by: Craig Osterhout <craig.osterhout@docker.com>
2026-06-04 13:42:15 -07:00
Craig Osterhout d5a2e865d6 dhi: add sfw variants (#25254)
<!--Delete sections as needed -->

## Description

Added Socket Firewall variants description and example.
Added a vague image-specific variants description as a catch-all for the
one-offs.

## Related issues or tickets

ENGDOCS-3110

## Reviews

<!-- Notes for reviewers here -->
<!-- List applicable reviews (optionally @tag reviewers) -->

- [ ] Editorial review
- [ ] Product review

Signed-off-by: Craig Osterhout <craig.osterhout@docker.com>
2026-06-04 12:09:02 -07:00
David Karlsson 335b4b4a9d Merge pull request #25265 from dvdksn/worktree-vendor-ai-gov-openapi-242
Vendor latest AI Governance OpenAPI spec
2026-06-04 18:54:43 +02:00
David Karlsson 4fdf475942 sbx: vendor latest ai governance openapi spec
Sync the AI Governance Policy API reference with the upstream spec from
docker/governor-services#242. Wraps the ListPolicies response data under
a `data` object, adds the updatePolicy and deletePolicy endpoints,
migrates policy scope from profiles to teams, and switches rule/policy
updates to application/json.

Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 13:01:57 +02:00
David Karlsson 93444f507d sbx: document team-scoped governance policies (#25251)
Add docs for scoping organization governance policies to specific teams.
Explains org-wide vs team-scoped policies, how a user's effective
policies combine (additive allows, absolute denies, org-wide guardrails,
how to create polices in the admin UI).

-
https://deploy-preview-25251--docsdocker.netlify.app/ai/sandboxes/governance/concepts/#policy-scope
-
https://deploy-preview-25251--docsdocker.netlify.app/ai/sandboxes/governance/org/#scope-policies-to-teams
-
https://deploy-preview-25251--docsdocker.netlify.app/ai/sandboxes/governance/org/#create-a-policy

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 10:48:35 +02:00
David Karlsson 7f5d7502b1 docs(sandboxes): add workflow patterns page (#25228)
## Summary

Adds a new Workflows page to the sandboxes manual covering the patterns
that
don't fit cleanly in the mechanical usage reference: git strategies
(single-agent
feature branch and multi-agent parallel branches in clone mode, direct
mode),
commit signing via SSH agent forwarding, authenticated CLI tools (gh,
Docker
registry, 1Password via op read), and CI/headless use.

Generated by Claude Code

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 10:07:29 +02:00
David Karlsson 8c47944f28 Merge pull request #25253 from dvdksn/fix-issue-25214
Fix truncated DOCKER_ACCOUNT variable in Circle CI example
2026-06-04 07:00:14 +02:00
Alexa Kristensen 913bca12d9 Gordon plan add ons (#25099)
Billing workflow and details for Gordon plan subscription layer. As a
fast follow, a PR that links between Gordon usage docs and billing docs
will be added. This is an interim update until subscription section
overhaul is underway, where Gordon + DHI Select will have their own docs
pages
2026-06-03 16:11:35 -05:00
Paweł Gronowski 6c4cbff74d Merge pull request #25256 from vvoland/update-docker
engine: 29.5.3
2026-06-03 20:49:03 +02:00
Paweł Gronowski 3193cdd65b engine: 29.5.3
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-06-03 19:39:24 +02:00
David Karlsson 7f20a8bc75 Merge pull request #25136 from lacatoire/docs/25015-modelrunner-dup-step
docs: remove duplicate step in Model Runner GitHub Actions example
2026-06-03 15:37:22 +02:00
David Karlsson ab7a59b014 docs: fix truncated DOCKER_ACCOUNT variable in Circle CI example
The Circle CI build_push and build_cache jobs in the Build Cloud CI
docs used a truncated $DOCKER_ variable in the docker login command,
which expands to empty and breaks authentication. Use $DOCKER_ACCOUNT
to match the rest of the file.

Fixes #25214

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 15:34:05 +02:00
David Karlsson b896c6e192 Merge pull request #25109 from bhavyarajwanshi/fix-scout-jenkins-comment
docs: fix Jenkins example comment and syntax in Scout environment guide
2026-06-03 15:33:13 +02:00
David Karlsson 35007d1148 Merge pull request #25134 from lacatoire/docs/25073-overlay-duplicate-ports
docs: remove duplicate overlay network port requirements
2026-06-03 15:26:39 +02:00
David Karlsson 0c4dddca84 Merge pull request #25135 from lacatoire/docs/25081-ci-tag-branch-logic
docs: fix tag/branch logic in Circle CI and GitLab environment examples
2026-06-03 15:25:30 +02:00
David Karlsson e06aa17218 Merge pull request #25241 from dvdksn/worktree-buildkit-cni-bridge
build: document built-in CNI bridge networking for BuildKit
2026-06-03 14:32:51 +02:00
Allie Sadler 485567d991 4.76 update (#25252)
<!--Delete sections as needed -->

## Description

Add cherry-picked item

## Related issues or tickets

<!-- Related issues, pull requests, or Jira tickets -->

## Reviews

<!-- Notes for reviewers here -->
<!-- List applicable reviews (optionally @tag reviewers) -->

- [ ] Technical review
- [ ] Editorial review
- [ ] Product review
2026-06-03 11:12:18 +01:00
David Karlsson 11be196415 docs: document WSL --clone safe.directory workaround
Clone mode fails on \\wsl.localhost\... paths because Git's dubious
ownership check makes sbx's repo detection fail. Add a troubleshooting
section with the safe.directory workaround.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 09:38:31 +02:00
Craig Osterhout 2d10744a5d dhi: remove new label (#25246)
<!--Delete sections as needed -->

## Description

Removed DHI new label. The product is over 1 year old now.

## Related issues or tickets

<!-- Related issues, pull requests, or Jira tickets -->

## Reviews

<!-- Notes for reviewers here -->
<!-- List applicable reviews (optionally @tag reviewers) -->

- [ ] Editorial review

Signed-off-by: Craig Osterhout <craig.osterhout@docker.com>
2026-06-03 07:59:22 +01:00
David Karlsson bd360a44a0 Fix broken AI governance link on manage-licenses page
The AI governance docs moved from /ai/sandboxes/security/governance/ to
/ai/sandboxes/governance/. Update the reference on the manage-licenses
page to point at the new org policy page.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 08:27:40 +02:00
David Karlsson ff616c4345 Merge pull request #25242 from dvdksn/worktree-sbx-template-save-secrets-warning
sbx: warn that saving a template embeds filesystem secrets
2026-06-03 08:10:52 +02:00
David Karlsson 76f5345a49 Merge pull request #25233 from dvdksn/worktree-issue-25093-storage-drivers-note
Clarify that storage drivers page covers classic drivers
2026-06-03 08:09:37 +02:00
David Karlsson d9bf784d7a Merge pull request #25231 from dvdksn/sbx-kit-org-policy-precedence
sbx: note that org policy overrides kit network rules
2026-06-03 08:09:17 +02:00
David Karlsson 5c82980dd3 sbx: document virtiofs caching opt-in for slow filesystem operations (#25226)
## Summary

Adds a troubleshooting entry explaining why filesystem operations (e.g.
`git status`) can be slow in direct-mode workspaces, and documents the
`DOCKER_SANDBOXES_ENABLE_VIRTIOFS_CACHE=1` opt-in to enable virtiofs
caching.

Generated by Claude Code

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 08:08:48 +02:00
David Karlsson 91cd58d07c Merge pull request #25223 from dvdksn/worktree-hidden-leaping-pascal
sandboxes/get-started: replace branch mode with clone mode
2026-06-03 08:08:23 +02:00
Alexa Kristensen e1781eaec5 licenses (#25181)
Draft PR for AI Gov MVP, with guidance around purchasing / what gets
billed when purchasing AI Gov.

---------

Co-authored-by: Greg Mondello <72952982+gmondello@users.noreply.github.com>
Co-authored-by: Oleg Burov <ob1dev@icloud.com>
2026-06-02 14:00:17 -05:00
Santhosh Reddy Vootukuri e6c33189a9 docs(dhi): add .NET and Java migration examples (#25201)
This PR adds two new migration example guides under
`content/manuals/dhi/migration/examples/` for migrating applications to
Docker Hardened Images (DHI):

- **.NET** (`dotnet.md`)
- **Java** (`java.md`)

Both guides follow the exact same structure as the existing Go, Python,
and Node.js examples, with five Dockerfile variations each:

- Before (Ubuntu)
- Before (Wolfi)
- Before (DOI)
- After (multi-stage) — recommended
- After (single-stage)

The .NET guide uses `dhi.io/dotnet-sdk` for build and
`dhi.io/dotnet-aspnet` for runtime. The Java guide uses `dhi.io/maven`
for build and `dhi.io/eclipse-temurin` for runtime.

The `_index.md` grid is updated to surface both new examples on the
Migration examples landing page.

### Checklist
- [x] Followed the existing format and front-matter conventions
- [x] Used DHI images available in the public DHI catalog
(`dhi.io/dotnet-sdk`, `dhi.io/dotnet-aspnet`, `dhi.io/maven`,
`dhi.io/eclipse-temurin`)
- [x] Updated the examples landing page (`_index.md`)

---------

Co-authored-by: sunnynagavo <sunnynagavo@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Santhosh Reddy Vootukuri (SUNNY) <nagavo@microsoft.com>
Co-authored-by: Craig Osterhout <craig.osterhout@docker.com>
2026-06-02 10:57:11 -07:00
Jasdeep Singh Bhalla e739137606 docs: complete incomplete verification step in push.md (#25029)
## Description

Step 3 of the push guide listed "Verify the image on Docker Hub" with no
instructions, leaving the workflow incomplete. Added a short prose
explanation directing users to navigate to their repository's **Tags**
tab on Docker Hub to confirm the push succeeded.

## Related issues or tickets

Closes #25004

## Reviews

- [ ] Technical review
- [ ] Editorial review
- [ ] Product review
2026-06-02 08:45:54 -07:00
Mathieu Champlon 6886956cdf Add CVE-2026-8936 security note to Desktop release notes (#25243)
Adds a Security section to the Docker Desktop release notes documenting
CVE-2026-8936, a VM panic caused by unbounded recursion in the
`grpcfuse` kernel module.
2026-06-02 16:33:39 +01:00
David Karlsson 69ce9ba0c1 sbx: fix ai governance api auth endpoint (#25244)
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>

Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2026-06-02 17:23:59 +02:00
David Karlsson 2fe4b84081 sbx: fix ai governance api auth endpoint
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2026-06-02 17:17:27 +02:00
David Karlsson 5a45672e04 build: document built-in CNI bridge networking for BuildKit
The CNI networking section claimed CNI was "not yet" available in the
default BuildKit image. A built-in bridge network provider with bundled
CNI plugins has shipped since BuildKit v0.13.0 (moby/buildkit#4352), so
the claim is outdated.

Document the bridge mode (--oci-worker-net=bridge) that needs no custom
image, and keep the custom-image path under a "Custom CNI configuration"
subheading. Follow-up to moby/buildkit#6817.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 16:39:53 +02:00
David Karlsson e15c49b76b sbx: warn that saving a template embeds filesystem secrets
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 16:38:56 +02:00
David Karlsson 05383e0205 Clarify that storage drivers page covers classic drivers
The opening note framed the page only as background information without
explaining what the page actually documents. Clarify that it describes the
classic storage drivers, while pointing containerd image store users to the
relevant operational guidance.

Closes #25093

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 11:25:06 +02:00
David Karlsson cb8aeed73f sbx: note that org policy overrides kit network rules
Kit-defined network rules (allowedDomains/deniedDomains) are ignored when
organization governance is active, since only org rules are evaluated. This
wasn't documented anywhere. Add an IMPORTANT callout in the kit
"Control network access" section and extend the governance precedence section
to account for kit rules.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 11:24:59 +02:00
Kaflesagar0 934faffc71 Update Docker login command syntax
There was -u missing in the login command syntax, which would prompt to provide username and password, but never succeed the login attempt.
2026-06-02 11:16:23 +03:00
David Karlsson 553c69e1b7 sbx: restructure governance docs and add API reference (#25162)
## Summary

Restructures the Docker AI Governance documentation under
\`/ai/sandboxes/governance/\` and adds the supporting API reference.

Preview links:

-
https://deploy-preview-25162--docsdocker.netlify.app/ai/sandboxes/governance/
-
https://deploy-preview-25162--docsdocker.netlify.app/reference/api/ai-governance/

### Information architecture

The existing \`security/governance\` and \`security/policy\` pages are
merged into a new top-level \`governance\` section so local-policy and
org-policy sit side by side instead of being split across unrelated
parents:

- \`/ai/sandboxes/governance/\` — section landing; explains local + org
as layered enforcement
- \`/ai/sandboxes/governance/concepts/\` — resource model, rule syntax,
evaluation, precedence
- \`/ai/sandboxes/governance/local/\` — \`sbx policy\` CLI for
individual machines
- \`/ai/sandboxes/governance/org/\` — Admin Console flow (was
\`security/governance.md\`)
- \`/ai/sandboxes/governance/monitoring/\` — \`sbx policy ls\` / \`sbx
policy log\`

### API reference

\`/reference/api/ai-governance/\` renders the Governance OpenAPI spec
vendored at \`content/reference/api/ai-governance/api.yaml\` from
\`docker/governor-services\`. Operations, schemas, examples, and status
codes are fully driven by the spec — future updates land via re-vendor,
not in-repo edits. Anything wrong in the rendered reference should be
fixed upstream and re-vendored here.

The spec has been re-vendored to the latest upstream version, which
updated the server URL to \`hub.docker.com/v2\` and added the
\`/governance/\` prefix to all API paths.

### Review focus

1. The \`/ai/sandboxes/governance/\` landing — does the local + org
framing match how the product is positioned?
2. \`/reference/api/ai-governance/\` — does the rendered spec match the
source of truth, and is anything important missing?

Generated by Claude Code

---------

Co-authored-by: Louis-Arnaud <la.catoire@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 10:05:05 +02:00
Kimaswa Emmanuel Yusufu a464561139 Merge pull request #25227 from emmayusufu/docs/remove-obsolete-compose-version
docs: remove obsolete compose version field from Go and OpenTelemetry guides
2026-06-02 08:37:37 +02:00