harbor: MCR proxy cache does not remember pulled tags

Expected behavior and actual behavior: I have several proxies set up. Proxy for Docker Hub works as expected. However, Microsoft Container Registry proxy does not list tags which i have pulled.

Steps to reproduce the problem:

  1. docker pull something via Docker Hub proxy
  2. find this artifact in Harbor UI and see that there is a tag listed
  3. docker pull something via MCR proxy
  4. find this artifact in Harbor UI and see that there are no tags at all. API calls like /v2/.../tags/list and /v2.0/.../artifacts/.../tags also return no tags.

Versions:

  • harbor version: [2.3.2]
  • docker engine version: [20.10.8]

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 2
  • Comments: 20 (1 by maintainers)

Commits related to this issue

Most upvoted comments

Yes, The behavior of Docker 20.10.x client changed, there is a local cache store the tag and digest, the docker pull <image>:<tag> might be changed to <image>@sha256:xxxxxx, it is converted to pull by digest, in this case, the Harbor proxy cache only get the request of docker pull <image>@sha256:xxxxxx, then it couldn’t create this tag in the proxy cache.

Found default retention policy (see below) for proxy cache project doesn’t work as expected…

For the repositories matching **, retain the artifacts pulled within the last 7 days with tags matching ** with untagged

When dry-run, it’s trying to delete the artifact pulled 5 minutes ago tagged with latest