Skip to content

Official Image repository pages show the placeholder icon instead of the repo logo (search and the media API both return it) #2534

Description

@FDelporte

Summary

On hub.docker.com/_/<image>, the header icon of every Docker Official Image renders as the generic Docker "box" placeholder instead of the repository logo. The logo itself is present and correct in Docker Hub's own store — the media API serves it, and the search API returns it, which is why the same image does show its logo on the search and Explore pages.

So the asset is fine, and the upload pipeline in docker-library/docs/push.pl is fine; only the repository detail page fails to render it.

Steps to reproduce

  1. Open https://hub.docker.com/search?badges=official&q=nginx — the result card shows the nginx logo.
  2. Click through to https://hub.docker.com/_/nginx — the header shows the generic Docker box placeholder.

Expected: the repository page header shows the same logo the search result shows.
Actual: it shows the namespace/default placeholder.

Scope

Not specific to one image. Reproduced on:

Verified Publisher pages are unaffected — https://hub.docker.com/r/datadog/agent renders its logo in that same header slot, so the component works; it just gets no logo for library/ repos.

Evidence: Hub has the logo

The media API returns each logo, 302ing to a valid 120×120 PNG:

$ curl -sS -o /dev/null -w '%{http_code} -> %{redirect_url}\n' \
    'https://hub.docker.com/api/media/repos_logo/v1/library%2Fnginx'
302 -> https://djeqr6to3dedg.cloudfront.net/repo-logos/library/nginx/live/logo-1763770349851.png

$ curl -sS -o /dev/null -w '%{http_code} -> %{redirect_url}\n' \
    'https://hub.docker.com/api/media/repos_logo/v1/library%2Fazul-zulu'
302 -> https://djeqr6to3dedg.cloudfront.net/repo-logos/library/azul-zulu/live/logo-1773781879448.png

The search API returns it too:

$ curl -sS 'https://hub.docker.com/api/search/v4?query=nginx&badges=official' | jq '.results[0].logo_url'
{
  "large": "https://djeqr6to3dedg.cloudfront.net/repo-logos/library/nginx/live/logo-1763770349851.png",
  "small": "https://djeqr6to3dedg.cloudfront.net/repo-logos/library/nginx/live/logo-1763770349851.png"
}

Likely cause: the two APIs disagree

The repository detail endpoint reports no logo at all, for every Official Image:

$ for r in nginx redis eclipse-temurin azul-zulu; do
    printf '%s: ' "$r"
    curl -sS "https://hub.docker.com/v2/repositories/library/$r/" | jq -c '.logo_url'
  done
nginx: null
redis: null
eclipse-temurin: null
azul-zulu: null

If the repository page reads logo_url from /v2/repositories/{namespace}/{name}/ while search reads it from the v4 search index, that null is enough to explain the placeholder. Populating logo_url on the repositories endpoint from the same source the search index uses (or having the page fall back to /api/media/repos_logo/v1/{namespace}%2F{name}) would fix it.

Notes

  • The %%LOGO%% image inside the description body still renders — it is served from raw.githubusercontent.com and is unrelated to the header icon. Only the header avatar is affected.
  • Not a docker-library/docs content problem: the affected repos all have a valid logo.png/logo.svg committed, and push.pl has clearly uploaded them (see the media API responses above).

Tested 2026-09-09.

Activity

  1. github-actions commented on Sep 9, 2026

    @github-actions

    Thank you for your feedback 👍.

    Our team will review your issue shortly.
    In the meantime, feel free to provide as many details as possible, as this will speed up the resolution.

    If you need assistance rather than providing feedback, please contact the Docker support team via https://hub.docker.com/support/contact for a prompt response, and close this issue.

  2. self-assigned this
    on Sep 9, 2026
  3. added and removed
    status: needs triageThis issue needs to triage by our team (applied by default to new issue)
    on Sep 9, 2026
  4. lucbpz commented on Sep 9, 2026

    @lucbpz

    Hi @FDelporte, thanks for flagging this issue! The logos should be visible now.

  5. FDelporte commented on Sep 9, 2026

    @FDelporte
    Author

    That's very fast! Thanks @lucbpz, confirmed, the page is now showing the logo as expected!

    https://hub.docker.com/_/azul-zulu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions