fshy

fshy / Compute / Storage

Docker Cloud

docker.com · Compute, Storage · 2 records · JSON

Docker Hub (free Personal plan, public repositories) Storage

★ qualifiesanonymousno cardRper-ip-shaping

hub.docker.com · registry · storage/docker-hub · JSON · compare

Free tierUnlimited public repositories on the free Personal plan; NO documented storage cap on public repositories. Docker's own limits table lists only pull-rate and repository counts, with no storage row. Docker's Feb 2025 policy post says storage-based billing is 'indefinitely delayed' with a promised six-month notice.
unit unlimited; metered on stored-bytes
Pricenone stated
Per-object capnot stated
RetentionPull count 100/6h anonymous or 200/6h authenticated per IP — that is the binding constraint for a 500GB-1TiB/day fetch workload (needs few, large blobs rather than many small ones)
EgressFree and unmetered per-GB; the gate is a pull COUNT, not bytes: 'Unauthenticated users: 100 per IPv4 address or IPv6 /64 subnet' and 'Personal (authenticated): 200' per 6 hours. Blobs are served by 307 redirect to a CDN, so one pull can be a multi-GB blob.
Identityanonymous derived from the record's prose, not from an identity field, and no signup was executed: repo a striped volume of unlimited size. Pull count 100/6h anonymous or 200/6h authenticated per IP — that is the binding constraint for a 500GB-1TiB/day fetch workload (needs few, large b
Limits
  • per-ip-shaping 1TiB/day source
Pull count 100/6h anonymous or 200/6h authenticated per IP — that is the binding constraint for a 500GB-1TiB/day fetch workload (needs few, large blobs rather than many small ones). No published per-layer size cap, but the Docker distribution S3 driver historically broke above 10GB per layer (distribution/distribution#2814), so shard at ~5GB. The excess-use rate limit returns plain 429 in the order of thousands of req/min per IP.
Bindingper-ip-shaping one stream is shaped, and a user's throughput is the shaped rate times the number of streams
Interfaceoci oci
Toolingoras push / docker push; purpose-built wrapper: github.com/Androsh7/layerstash (chunks >5GB files into ~5GB layers, uploads to Docker Hub or GHCR; author reports 1.8TB personally stored), github.com/xausky/DockerRegisterCloud (654 stars, registry-as-netdisk client with Flutter GUI + direct-download server).
Composes withUnlimited public repos per account, and the free account count itself is unlimited. Layer count per repo is not capped, so a single repo holds arbitrarily many blobs; layerstash's <base-tag>-<chunk_n> scheme makes one repo a striped volume of unlimited size.
ReliabilityStorage is unpriced today but Docker reserves the right to add charges and has flip-flopped before (announced Mar 2025, cancelled Apr 2025); the 100-pull/6h IP limit will throttle any fetch fan-out from one host.
NotesUnlimited public repositories on the free Personal plan; NO documented storage cap on public repositories. Docker's own limits table lists only pull-rate and repository counts, with no storage row. Docker's Feb 2025 policy post says storage-based billing is 'indefinitely delayed' with a promised six-month notice.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Parsed numbers
  • $.limits[0].value limit:per-ip-shaping 1.0 TiB / day
Evidence (5)
datesourcewhat it proved
2026-10-21docs.docker.com/docker-hub/usage/read live: table has columns Pull rate limit / public repos / private repos only; Personal = Unlimited public repos, 200 pulls/6h; no storage row anywhere on the page
2026-10-21www.docker.com/blog/revisiting-docker-hub-policies-prioritizread live: 'Storage Charges Delayed Indefinitely ... we have decided to indefinitely delay any storage charges', and 'We did not enforce the Docker Hub rate limit changes previously scheduled for April 1, 2025'
2026-10-21auth.docker.io/token?service=registry.docker.io&scope=reposiprobe: GET -> 200 (2698-char token); then GET registry-1.docker.io/v2/library/alpine/manifests/latest -> 200, 9218 bytes, anonymous, no account
2026-10-21registry-1.docker.io/v2/library/alpine/blobs/uploads/probe: POST -> 401 (anonymous push correctly refused; write requires an account, read does not)
2026-10-21github.com/Androsh7/layerstashread live: 'I have stored a total of 1.8TB in a public repository on Docker Hub androsh7/archive'
Unknown or withheld values (4)
  • $.free_tier.notes process
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted

Docker Cloud Sandboxes Compute

paidemail?card?Drequest-rate

www.docker.com/blog/introducing-cloud-sandboxes-start-on-you · container and VM sandbox · compute/docker-cloud-sandboxes · JSON · compare

Free tierno free tier: compute bills per second from $0.07 an hour for 1 vCPU and 2 GiB, and a paused sandbox costs nothing; volumes and egress are free
unit none; metered on none
Pricenone stated
Per-object capnot stated
Retentionnot stated
Egressnot stated
Identityemail (placeholder) not published
Limits
  • request-rate $0.07 an hour for Micro at 1 vCPU and 2 GiB, up to $1.12 for XL at 16 vCPU and 32 GiB source
  • retention-clamped a paused sandbox costs nothing; egress and volumes are not metered source
  • per-object-cap the page states no disk cap per sandbox; it says hosting public images and Kits is free source
not stated
Bindingrequest-rate
Interfaceunknown
Toolingnot stated
Composes withnot stated
Reliabilityno reliability event recorded
Evidence rungdocumented the announcement page was read on 2026-10-22 and states the per-second metering, the paused-sandbox behaviour and the size ladder. The USD 25 credit the record carried is not on it, so the verdict moves to paid-only on what the page does say
Checked2026-10-23 (live); stale on 2026-11-22
Parsed numbers
  • $.limits[0].value limit:request-rate 2.0 GiB
Evidence (2)
datesourcewhat it proved
2026-10-02www.docker.com/blog/introducing-cloud-sandboxes-start-on-younot published
2026-10-22www.docker.com/blog/introducing-cloud-sandboxes-start-on-you'Cloud Sandboxes are pay-as-you-go. We meter compute by the second, and nothing else. A paused sandbox costs nothing. Volumes, egress, and hosting public images and Kits are free.' with sizes from Micro at $0.07 an hour (1 vCPU, 2 GiB) to XL at $1.12 (16 vCPU, 32 GiB), quoted
More fields (16)
{
 "talaria_m10h_usd": 42.0,
 "talaria_m24h_usd": 100.8,
 "nemo_m10h_usd": 42.0,
 "keep_rate": 1.0,
 "keep_rate_basis": null,
 "billing_model": "unclassified",
 "shape": {
  "vcpu": 2,
  "ram": 4,
  "disk": null,
  "gpu_class": null,
  "gpu_count": null,
  "note": "Small is the default at 2 vCPU and 4 GiB for $0.14 an hour"
 },
 "session_cap": {
  "wall_clock_min": null,
  "idle_reap_s": null,
  "restart_required": false,
  "note": "a paused sandbox costs nothing, so stopping is a pause rather than a loss; the page describes running an agent for hours with the laptop closed"
 },
 "persistent_storage": null,
 "network_out": null,
 "price_note": null,
 "free_tier_kind": "none",
 "granularity": {
  "min_billed_s": 0,
  "rounding_s": null
 },
 "burst_x": 1.0,
 "ps": {
  "gib": null,
  "price": "volumes are free",
  "durability": "volume",
  "on_stop": true,
  "on_destroy": false,
  "retention": "until deleted"
 },
 "net": {
  "out": true,
  "in": true,
  "ports": "published ports",
  "static_ip": null,
  "ipv6": null,
  "allowance": "egress is free"
 }
}
Unknown or withheld values (17)
  • $.chaining not-stated
  • $.egress.metered egress-unknown
  • $.egress.terms not-stated
  • $.evidence[0].proved process
  • $.extras.keep_rate_basis process
  • $.extras.price_note process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.interface interface-unknown
  • $.interface_detail withheld
  • $.limits_note not-stated
  • $.per_object_cap.notes process
  • $.per_object_cap.stated not-stated
  • $.reliability_note none-observed
  • $.retention.notes not-extracted
  • $.retention.stated not-stated
  • $.tooling not-stated