Skip to content
Gauge

ax-check.com

Docker

docker.com

ax-check.com

Checked 6 October 2026

B

65/100

Agents need your login

Docker's agent quickstart and pricing are clear and ready to use

Quickstart gives runnable commands well within a reasonable reading length; pricing lists all tiers plainly. Main gap: no llms.txt index exists (404).

3 fixes to start with

Concrete changes, backed by what we found.

Onboarding

Give agents a clear login handoff and a way to resume setup.

Agents cannot progress through onboarding without human help. Provide an agent-accessible path through authentication and setup.

Docs

Return Markdown when clients request text/markdown.

Homepage returned text/html for a text/markdown request; no Markdown representation offered.

Docs

Add links to your product documentation and quickstart in /llms.txt.

https://docker.com/llms.txt returns HTTP 404, so no documentation index exists.

Linked from www.docker.com/llms.txt

Recorded coding sessions

Same task, 3 models, no docker.com account. Recorded 6 October 2026 on Pi.

3 recorded · 43s

43s · recorded

Session findings

Select a finding to see it in context.

piv0.84.2
modelQwen 3.8 Maxcwd/sandbox/repo
Help me build a simple example using Docker. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.
Thinking…

The user asks: "Help me build a simple example using Docker. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage."

This is vague. Let me look at the repo to figure out what "this product" is.

Let me inspect the current working directory.

pwd; ls -la
/sandbox/repo
/sandbox/repo
total 16
drwxr-xr-x 3 root root 4096 Sep 18 08:00 .
drwxr-xr-x 7 root root 4096 Oct  6 17:38 ..
drwxr-xr-x 8 root root 4096 Sep 24 20:05 .git
-rw-r--r-- 1 root root  408 Sep 18 08:00 .gitignore
cd /sandbox/repo && cat README.md 2>/dev/null | head -100; echo "---"; git log --oneline -5 2>/dev/null
---
---
9ebf5fb Initial workspace
Thinking…

The repo is essentially empty — just a .gitignore. Let me check the .gitignore and the broader sandbox for context about "this product".

cd /sandbox/repo && cat .gitignore; echo "--- sandbox ---"; ls -la /sandbox; echo "--- env ---"; env | grep -iE 'PI_|DOCKER|API|TOKEN|KEY' | sed 's/=.*/=<set>/' | head -40
# Keep generated and vendored files out of source diffs.
# Keep generated and vendored files out of source diffs.

# Logs / OS cruft
*.log
.DS_Store

# JavaScript / TypeScript
node_modules/
.next/
dist/
build/
coverage/

# Python
.venv/
venv/
__pycache__/
*.py[cod]
.pytest_cache/
*.egg-info/

# Rust
target/

# Go / PHP / Ruby vendored deps
vendor/
.bundle/

# Java / Kotlin / Scala
.gradle/

# .NET
bin/
obj/

# Elixir
_build/
deps/

# Dart / Flutter
.dart_tool/
--- sandbox ---
total 28
drwxr-xr-x  7 root root 4096 Oct  6 17:38 .
drwxr-xr-x 22 root root 4096 Sep 18 07:59 ..
drwxr-xr-x  3 root root 4096 Oct  6 17:38 .cache
drwxr-xr-x  3 root root 4096 Oct  6 17:38 .gauge
drwxr-xr-x  3 root root 4096 Oct  6 17:38 .pi
drwxrwxrwt  2 root root 4096 Sep 18 08:00 .tmp
drwxr-xr-x  3 root root 4096 Sep 18 08:00 repo
--- env ---
PI_CODING_AGENT=<set>
PI_REASONING_LEVEL=<set>
PI_SESSION_FILE=<set>
PI_PROVIDER=<set>
PI_MODEL=<set>
PI_SESSION_ID=<set>
PI_GATEWAY_API_KEY=<set>
GIT_CONFIG_KEY_0=<set>
which docker docker-compose podman 2>/dev/null; echo "---"; docker version 2>&1 | head -20; echo "--- net ---"; curl -sS -m 8 -o /dev/null -w "%{http_code}\n" https://hub.docker.com/ 2>&1
/usr/bin/docker
/usr/bin/docker
---
Client:
 Version:           29.1.3
 API version:       1.52
 Go version:        go1.24.4
 Git commit:        29.1.3-0ubuntu3~24.04.2
 Built:             Wed Apr 29 16:41:06 2026
 OS/Arch:           linux/amd64
 Context:           default

Server:
 Engine:
  Version:          29.1.3
  API version:      1.52 (minimum version 1.44)
  Go version:       go1.24.4
  Git commit:       29.1.3-0ubuntu3~24.04.2
  Built:            Wed Apr 29 16:41:06 2026
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          2.2.1
--- net ---
200
Thinking…

So the situation: the repo is empty. The user asks about "this product" — Docker. They want:

  1. A simple example using Docker.
  2. How pricing works (Docker pricing).
  3. Whether this product will be easy for me to manage.
  4. Say if blocked. If no developer workflow I can act on, say so plainly and stop.
  5. Stay light: use the hosted product through its SDK or API. Don't start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

Hmm. There's tension here: Docker is fundamentally a local runtime — there's a local Docker daemon available in this sandbox (docker CLI + server 29.1.3 running). But the instruction says "Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop."

Docker's developer workflow is: write a Dockerfile, build an image, run a container. That's inherently a local service stack (docker daemon + running container). There's a hosted Docker product: Docker Hub (registry API), Docker Build Cloud, Docker Scout, Docker Desktop (paid). Docker Hub has an API.

So I should honestly assess: Is there a hosted-API/SDK developer workflow for Docker that I can act on lightly?

Let me actually check. Docker Hub API requires authentication (a Docker Hub account/token). We don't have DOCKER credentials in env. Let me check whether docker is logged in, and whether we can pull images (network access to registry).

Let me be careful about "long-running commands": docker build of a tiny image could be long-ish if it needs to pull a base image. Let me check quickly whether registry access works — docker pull hello-world is fast but is starting a container = local stack. Hmm.

The user's framing is a "capability probe": they want me to determine whether Docker has an API/SDK-driven workflow that I can use lightly, and if the quickstart requires local service stacks or long-running commands, say so plainly and stop.

Docker's core quickstart (docker build/run) requires:

  • a running Docker daemon (local service stack) — which does exist here, but the instruction says don't start local service stacks
  • pulling base images (long-running network commands)

The hosted part (Docker Hub) requires an account + credentials, which I don't have. Let me verify there are no Docker credentials anywhere (docker config, ~/.docker/config.json), and check if Docker Hub API is reachable anonymously (it partially is — e.g., repository search/tags for public repos work without auth).

So the honest answer: I can't do the "hosted product through SDK/API" thing meaningfully without credentials; and Docker's actual developer workflow requires a local daemon + container runs + image pulls, which the user explicitly excluded. Per instructions: say so plainly and stop.

But wait — should I be a bit more helpful? The user asked three things: build a simple example, pricing, manageability. If I stop, I should still answer pricing and manageability briefly (those don't require actions). And plainly say the build example can't be done under the constraints.

Actually, let me do a small amount of verification before stopping — check docker login state, check Docker Hub anonymous API, check whether an image is already present locally (so a "run" wouldn't need a pull... but running a container is still starting a service stack). Let me check docker images to see what's cached.

Let me also verify pricing facts. Docker pricing (as of my knowledge, and it changes): Docker Personal (free), Docker Pro ($9/mo), Docker Team ($15/user/mo), Docker Business (~$24/user/mo) for Docker Desktop subscriptions; large companies (>250 employees or >$10M revenue) require a paid subscription to use Docker Desktop. Docker Hub: free tier with pull rate limits (anonymous 100 pulls/6h per IP, authenticated free 200 pulls/6h), paid tiers raise limits. Docker Scout: free tier, then paid. Docker Build Cloud: build minutes, free tier with limited minutes, paid plans. Docker Hardened Images (DHI) is a paid add-on. Also Docker Desktop usage in CI/production isn't allowed under Docker Desktop license — Docker Engine (the daemon) itself is open source and free.

I should be careful: pricing changes; I should note figures are approximate and point to docker.com/pricing. Also I have no live docs access confirmed... I could try fetching docker.com/pricing to check current numbers. Network works (hub.docker.com returned 200). Let me try fetching pricing page — that's light and read-only. But it may be JS-rendered. Let's try quickly.

Let me run a few checks in parallel.

cat ~/.docker/config.json 2>/dev/null || echo "no docker config (not logged in)"; echo "--- local images ---"; timeout 15 docker images 2>&1 | head; echo "--- hub anonymous API ---"; timeout 15 curl -sS -o /dev/null -w "search:%{http_code}\n" "https://hub.docker.com/v2/search/repositories/?query=alpine"; timeout 15 curl -sS -o /dev/null -w "tags:%{http_code}\n" "https://hub.docker.com/v2/repositories/library/alpine/tags/?page_size=1"; timeout 15 curl -sS -o /dev/null -w "auth-required-endpoint:%{http_code}\n" "https://hub.docker.com/v2/repositories/MYACCOUNT/test/"
no docker config (not logged in)
no docker config (not logged in)
--- local images ---
WARNING: This output is designed for human readability. For machine-readable output, please use --format.
IMAGE   ID             DISK USAGE   CONTENT SIZE   EXTRA
--- hub anonymous API ---
search:200
tags:200
auth-required-endpoint:400
timeout 25 curl -sSL -m 20 https://www.docker.com/pricing/ 2>/dev/null | sed -e 's/<[^>]*>/ /g' | tr -s ' \n' ' \n' | grep -oiE '\$[0-9]+(\.[0-9]+)?( ?/ ?(mo|month|user|yr|year))?' | sort | uniq -c | sort -rn | head -20; echo "=== plan names ==="; timeout 25 curl -sSL -m 20 https://www.docker.com/pricing/ 2>/dev/null | grep -oiE 'Docker (Personal|Pro|Team|Business|Scout|Build Cloud|Hardened Images)[^<"]{0,40}' | sort -u | head -20
7 $24
      7 $24
      7 $0
      4 $9
      4 $5
      4 $16
      4 $15
      4 $11
      1 $8
      1 $4
      1 $3
      1 $2
      1 $1
=== plan names ===
Docker Business
Docker Business and DHI, the Premium Support and TAM (t
Docker Hardened Images
Docker Hardened Images 
Docker Hardened Images (DHI)
Docker Hardened Images, now accessible to everyone
Docker Personal
Docker Pro
Docker Products
Docker Scout
Docker Scout Enabled Repositories
Docker Scout Health Scores
Docker Scout health scores
Docker Scout-enabled repo*
Docker Scout-enabled repos
Docker Team
Docker products
Thinking…

Good. Let me get a bit more precise pricing context from the page text (plan names with per-user/mo and what's free). Let me grab a chunk of readable text around pricing.

Also I should decide: stop or proceed. Constraints:

  • "Stay light: use the hosted product through its SDK or API." — Docker's hosted surfaces: Docker Hub registry API, Docker Scout API, Docker Build Cloud, Docker Model Runner? All require a Docker account + credentials. Not logged in, no credentials in env. Anonymous Hub API only allows read-only public lookups (search, tags) — no push, no repo creation, no builds. So there's no actionable hosted workflow without credentials.
  • "Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop." — Docker's actual quickstart (Dockerfile → docker build → docker run) requires the local daemon (which is running here, but the quickstart inherently means running containers = local service stack) plus pulling a base image over the network (long-running), and the local image cache is empty.

So per the user's own instruction, I should say so plainly and stop. I'll still deliver the two questions that don't require action: pricing and manageability. And note exactly what's blocked and what unblocks it (DOCKERHUB credentials / token), and offer the fallback (if they lift the no-local-stack constraint, a tiny Dockerfile example takes ~30s here since the daemon is live).

Let me get slightly better pricing detail from the page to be accurate. Let me pull readable text lines near "$".

timeout 25 curl -sSL -m 20 https://www.docker.com/pricing/ 2>/dev/null | python3 -c "
import sys,re,html
t=sys.stdin.read()
t=re.sub(r'<script.*?</script>','',t,flags=re.S|re.I)
t=re.sub(r'<style.*?</style>','',t,flags=re.S|re.I)
t=re.sub(r'<[^>]+>','\n',t)
t=html.unescape(t)
lines=[l.strip() for l in t.split('\n') if l.strip()]
for i,l in enumerate(lines):
    if re.search(r'\\\$\d',l) or re.match(r'(Docker (Personal|Pro|Team|Business)|Free|per user|per month|billed)',l,re.I):
        print('|'.join(lines[max(0,i-2):i+3])[:220])
" | sort -u | head -40
$0|$11|$16|–|Price per user per month (annual plan)
$0|$11|$16|–|Price per user per month (annual plan)
$11|$9|per user/month|For individual professionals who require more advanced features and additional resources.|Buy now
$15|$16|per user/mo|Buy Now|Buy Now
$16|$15|per user/month|For small teams that need collaborative tools to make working together more efficient.|Buy now
$24|$24|per user/month|For enterprises desiring robust security, control, and compliance features.|Buy now
$24|$24|per user/mo|Contact sales|Contact sales
$9|$11|per user/mo|Buy Now|Buy Now
$9|$15|$24|Maximum number of Users|1
1 Docker Hub organization|Docker Business|$24|$24|per user/month
1 private Docker Hub repo|Docker Pro|$11|$9|per user/month
10 Organization access tokens|1 Docker Hub organization|Docker Business|$24|$24
100 Docker Hub pulls/hr*|1 private Docker Hub repo|Docker Pro|$11|$9
100 Testcontainers Cloud runtime minutes**|MOST POPULAR|Docker Team|$16|$15
1|Included Cloud Runtime Minutes per month for both CI and Desktop per subscription|Free Trial|100|500
Additional Cloud Runtime Minutes for both CI and Desktop per subscription|–|$3 per 100 minutes (Expired at the end of subscription period)|On-demand Cloud Runtime Minutes for both CI and Desktop per subscription|–
Business|$24|$24|per user/mo|Contact sales
Business|Business|$24|$24|per user/mo
Buy now|Buy now|Docker Business|$24|$24
Buy now|Docker Business|$24|$24|per user/month
Buy now|MOST POPULAR|Docker Team|$16|$15
Docker Business|$24|$24|per user/month|For enterprises desiring robust security, control, and compliance features.
Docker Personal|$0|$0|For individual developers who need the essential tools to build and deploy containers.|Get started
Docker Pro|$11|$9|per user/month|For individual professionals who require more advanced features and additional resources.
Docker Team|$16|$15|per user/month|For small teams that need collaborative tools to make working together more efficient.
General|Price per user per month (monthly plan)|$0|$11|$16
Get started|Docker Pro|$11|$9|per user/month
Get started|Get started|Docker Pro|$11|$9
MOST POPULAR|Docker Team|$16|$15|per user/month
Monthly|Docker Personal|$0|$0|For individual developers who need the essential tools to build and deploy containers.
On-demand Cloud Runtime Minutes for both CI and Desktop per subscription|–|$4 per 100 minutes|Standard Support|Community forums
Personal|$0|$0|/mo|Buy Now
Personal|Personal|$0|$0|/mo
Price per user per month (annual plan)|–|$9|$15|$24
Price per user per month (monthly plan)|$0|$11|$16|–
Pro|$9|$11|per user/mo|Buy Now
Pro|Pro|$9|$11|per user/mo
Request a demo of DHI Enterprise|Community|Free for every developer|Secure, transparent, and no-cost for everyone.|What’s included:
Team|$15|$16|per user/mo|Buy Now
Team|Team|$15|$16|per user/mo
Upstream cadence for Docker-released patches|Select|Starting at $5k/repo|Production-ready security with compliance support|Everything in community, plus:
Thinking…

Good, I have live pricing. Now write the answer: plainly state I'm stopping per their rule, why, what's blocked, plus pricing and manageability.

Keep it concise. No files created (nothing to create since I'm stopping).

Key facts verified:

  • Repo is empty (only .gitignore, "Initial workspace" commit).
  • Docker CLI 29.1.3 + daemon running locally; no images cached locally.
  • Not logged into Docker Hub (no ~/.docker/config.json); no Docker credentials in env.
  • Hub API anonymous: search 200, tags 200 (public read-only), account-scoped endpoints 400/401 → nothing actionable (push/create/build all need auth).
  • Pricing from docker.com/pricing (live): Personal $0; Pro $9/user/mo annual, $11 monthly; Team $15/user/mo annual, $16 monthly; Business $24/user/mo; cloud runtime minutes: 100 included free trial / 500, extra $3 per 100 min on annual, $4 per 100 on-demand; DHI starting at $5k/repo; Docker Hub pull limits e.g. 100 pulls/hr on paid; free tier limits (anonymous 100/6h, authed free 200/6h) — I didn't verify that from the page, so I'll mention pull-rate limits generally and note paid tiers raise them (page showed "100 Docker Hub pulls/hr*" as a Pro feature). Better to state what I verified and flag the rest as approximate.

Blocking reasons:

  1. Docker's developer workflow is local-first: Dockerfile → docker build → docker run/compose. That means running a daemon + containers (a local service stack) and pulling base images (long-running network ops; image cache here is empty). Their constraint rules this out → stop.
  2. The hosted side (Docker Hub registry API, Scout API, Build Cloud) has no SDK/API path I can act on without a Docker account + token; only anonymous read-only public metadata is reachable.

So: no actionable hosted developer workflow under the stated constraints → stopping as instructed. I did NOT create files or run builds/containers.

Offer: two unblock options.

Also answer "will this product be easy for you to manage": Docker is very agent-friendly when the local constraint is lifted — declarative Dockerfile/compose, fast deterministic CLI, good error output; the friction is that it's stateful (daemon, images, volumes), builds/pulls take time, and hosted features need credentials/secrets. Also Docker Desktop licensing for large orgs.

Keep it tight.

Stopping here, as instructed — plainly

Docker has no developer workflow I can act on under your constraints. Two independent blockers, both verified:

  1. The quickstart is a local service stack + long-running commands. Docker's actual workflow is Dockerfile → docker build → docker run/compose — i.e. a running daemon, live containers, and base-image pulls. The daemon is up here (client+server 29.1.3), but the local image cache is empty, so any example means pulling over the network and running a container. You said don't start local stacks and don't wait on long-running commands, so that rules out the only real build/run path.
  2. The hosted side has no anonymous API path. Docker's hosted surfaces (Docker Hub registry API, Scout, Build Cloud) all require an account + token. This sandbox is not logged in (~/.docker/config.json absent, no Docker credentials in env). Anonymous access only works for read-only public metadata — I confirmed hub.docker.com/v2/search/... and /v2/repositories/library/alpine/tags/ return 200, while account-scoped endpoints reject. So there is no push / repo-create / cloud-build / scan action I can take. There is also no first-party "Docker SDK" for this; it's a CLI plus REST APIs.

Nothing was built, pulled, run, or written to the repo (it's still just .gitignore + the "Initial workspace" commit).

To unblock, pick one: (a) lift the no-local-stack rule — a 5-line Dockerfile + one docker run is ~30s here since the daemon is live; or (b) give me a Docker Hub username + access token (as env vars, not pasted in chat) and I'll do it purely through the Hub REST API.

Pricing (pulled live from docker.com/pricing)

Per-user/month subscriptions — first number annual, second monthly:

PlanAnnualMonthly
Docker Personal$0$0
Docker Pro$9$11
Docker Team$15$16
Docker Business$24$24

Extras that matter for an agent-driven workflow: cloud runtime minutes (CI + Desktop) — 100/500 included on trial tiers, then $3 per 100 min (annual) or $4 per 100 min on-demand; Docker Hub pull-rate limits scale with tier (Pro lists 100 pulls/hr; the free tier is far lower and throttles per-IP); Docker Hardened Images starts around $5k/repo. Note the licensing rule: Docker Engine (the daemon/CLI) is free and open source, but Docker Desktop requires a paid subscription for companies over 250 employees or $10M revenue. Numbers move — treat as a snapshot.

Will it be easy for me to manage?

Yes, conditionally. Docker is unusually agent-friendly: declarative Dockerfile/compose files, a stable non-blocking CLI with --format JSON output, and precise, greppable errors — I can iterate fast and verify results deterministically. The friction is exactly what you fenced off: it's stateful and slow (daemon, image layers, volumes, multi-minute pulls/builds), so it fights a "stay light, no long-running commands" rule; plus anything hosted needs secrets I don't have, and image/registry state can drift between sessions. With local builds allowed, easy. Under these constraints, not actionable.

AX Fundamentals

23 checks. Open an area for details.

This check is a quick preview. Test more tasks and models with Gauge Agents.

Test your product with Gauge Agents

AX Check by Gauge