Skip to content

Docker tab keeps showing "update available" after a container is updated via the Docker API #2710

Description

Summary

When a container image is updated outside the Docker tab (for example via the Docker API by another tool), the Docker tab keeps showing "update available" indefinitely, and even a manual "Check for Updates" does not clear it.

Root cause

DockerUpdate::reloadUpdateStatus($image) in plugins/dynamix.docker.manager/include/DockerClient.php reads the cached local digest from /var/lib/docker/unraid-update-status.json first and only re-inspects the image when that cache entry is null. Once the tag has moved to a new digest, the cache still holds the old digest, so the status is never recomputed and the flag stays set. Seen on 7.0.1.

Steps to reproduce

  1. Install any container via the Docker tab.
  2. Update its image to a newer digest through the Docker API (not via the Docker tab).
  3. The Docker tab still shows "update available"; "Check for Updates" does not clear it.

Suggested fix

In reloadUpdateStatus, re-inspect the image when the local image digest differs from the cached one (or drop the cached entry before recompute) instead of trusting a non-null cache. In practice, unsetting the container's entry and then calling reloadUpdateStatus($image) makes Unraid re-inspect the current image and rewrite the status correctly.

Environment

Unraid 7.0.1 (reproducible whenever a container is updated out of band).

Happy to open a PR if that helps.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions