ProGet Migration
How to Manage Docker Repositories in ProGet for Artifactory Users
This article is part of a series on Migrating from Artifactory to ProGet, also available as an eBook.
If you’re using Artifactory’s Docker registries or “JFrog Container Repository” for your Docker images, you’ll know how they’re like other Artifactory repositories, with a few key differences.
Migrating these Docker image registries to ProGet is generally easy as both repositories are set up and function in a similar way.
In this article we’ll look at how ProGet hosts Docker images and how to set up and browse ProGet Docker feeds just like your Artifactory Docker registries. We’ll also look at performing “Docker Image Promotion” like you would in Artifactory, and offer some improvements to your version management.
ProGet as A Docker Registry
Inedo’s ProGet can act as a private Docker Registry in the same way Artifactory does. While JFrog offers Artifactory and its freemium version “JFrog Container Repository” to do this, ProGet offers the functionality of both, and can work either as a multi-package repository or just as a container registry.
In ProGet users create “Feeds“; the equivalent to Artifactory’s Repositories. You can create any number of Docker Feeds in ProGet to act as Container Registries. These differ from regular feeds which contain packages. A Docker Feed acts as a registry that contains repositories, which in turn contain images.
Setting Up a Docker Feed in ProGet
Setting up a Docker feed in ProGet is easy. Unlike Artifactory where you’ll typically create three repositories (local, remote, virtual), you will set up a single feed in ProGet.

You’ll also have the option of creating a local feed or adding a connector to other repositories.

This will set it up to act in the way that a “remote” or “virtual” repository would in Artifactory.

Using your Docker Feed
Browsing your Docker feeds is simple. From the feed, you can browse your Docker repositories:

Inside these repositories, you can browse your Docker images:

Docker Feeds in ProGet also support other key features:
- Push, pull, search and list images
- Delete and clean up tags and repositories
- View Docker build information, packages, vulnerabilities, layers, commands, etc.
Setting Up Docker Image Promotion
Like how Artifactory’s “Docker Image Promotion” is used to move images through stages of acceptance, ProGet can be set up to promote Docker images between feeds using “Package Promotion”
To set up “Image Promotion”, we’ll start with an existing Docker feed named “docker-production” We’ll then set up another Docker feed we’ll call “development-docker”, and have it connect to “production-docker”

Once they are set up, you can promote images from “development-docker” to “production-docker”

Improve your Docker Container Version Management
ProGet can optionally enforce semantically versioned tags (e.g. “3.4.1”). This can avoid any confusion and errors you might experience from loosely versioned tags like “v6” or “v6-latest.” This standardized versioning cannot be changed after a release, preventing the use of incorrect container images.
Once you’ve enabled Semantic Versioning in ProGet, only three-part SemVer format tags are allowed. ProGet also manages virtual release number tags, making sure the “latest” tag points to the highest version.
Docker Feeds with ProGet
Like Artifactory, ProGet is fully capable of acting as a Docker container registry. Its “feeds” can host Docker repositories, which in turn store Docker images
In addition to listing, pushing and pulling images, Docker Feeds can also perform Image Promotion to move images through stages of acceptance.
This article is part of our eBook on Migrating from Artifactory to ProGet, walking you through everything from setting up repositories to managing your vulnerabilities, licenses and much more. Download your free copy of “Migrating from Artifactory to ProGet” today!