Docker images support the ability to tag the same image multiple times, and utilize list.manifests to manage multi-architecture images. Each list.manifest can refer to multiple manifests, with each manifest representing a specific architecture or operating system.
Therefore, version-based cleanup policies, if applied to Docker images, can disrupt builds by detaching the relationships between tags and breaking the links between list.manifests and their respective manifests. Consequently, this could lead to partial or corrupted image deletions, ultimately impacting the reliability and consistency of Docker repositories.
To mitigate these risks, Cleanup Policies exclusively use time-based cleanup conditions for Docker packages. This approach ensures that only images and tags that have not been used within a specified period are deleted, thereby preserving the integrity of tag relationships and multi-architecture references. This maintains a stable and predictable environment for Docker image management within Artifactory.
Also, JFrog recommends using the Packages Not Downloaded Since condition with Docker packages to ensure that packages currently in use are not deleted.