JFrog Container Registry

JFrog Artifactory Documentation

JFrog Artifactory
Content Type
User Guide

The JFrog Container Registry is a repository manager, which supports Docker and Helm registries and Generic repositories, allowing you to build, deploy and manage your container images while providing powerful features with fine-grained permission control behind a sleek and easy-to-use UI.

JFrog Container Registry is available as a self-hosted (Freemium) or SaaS solution and supports private and public Docker images, Helm Charts, and Generic repositories. The internal permission mechanism helps DevOps teams decide who can access what with fine-grained access control. It provides visibility and management of your Images with advanced querying based on metadata and allows you to run multiple registries per instance/account.

JFrog Container Registry comes with an Easy to Use UI with an Advanced Image Layer View and images search capabilities. A powerful REST API and CLI can be used to push, pull, and easily manage your images.

Key Features

  • Hybrid and Multi-Cloud Environments: You can host JFrog Container Registry on your own infrastructure, in the Cloud, or use the SaaS solution providing maximum flexibility and choice.

  • Dedicated Docker Registry: You can set up a secure private Docker registry in minutes to manage all your Docker images while exercising fine-grained access control. JFrog Container Registry places no limitations and lets you set up any number of Docker registries, through the use of local, remote and virtual Docker repositories, and works transparently with the Docker client to manage all your Docker images, whether created internally or downloaded from remote Docker registries such as the Docker Hub. To start configuring your Docker registry, see Configuring Docker Repositories.

  • Dedicated Helm Registry: The Helm package search in JFrog Container Registry is customized to allow users to search for Helm repositories by “App version” and not only by “Version”, which refers to the Chart version. App Version is a useful piece of information as it lets your users know what version of your app they are using, as the chart version could differ. You can search for the parameter after you add it to the Chart.yaml file. For more information, see Helm Registry.

  • Generic Repositories: JFrog Container Registry supports Generic repositories that are not associated with any particular package type and can be used to upload packages in any format. Generic repositories do not maintain separate package indexes, because they are not specific to any package type. They are useful when you want to proxy unsupported package types, store installers, navigation files, audio files, etc.

  • Local, Remote and Virtual Repositories: You can start managing your container images by setting up Local repositories that are physical, locally-managed repositories. Typically these are used to deploy internal and external releases as well as development builds, but they can also be used to store images that are not widely available on public repositories such as 3rd party commercial images.

    • Remote repositories allow you to set up a caching proxy for external registries such as the Docker Hub. Artifacts are stored and updated in remote repositories according to various configuration parameters that control the caching and proxying behavior. You can even set up your remote repository as a Smart Remote Repository to proxy a local or remote repository from a different JFrog Container Registry, essentially caching all distant repository content inside your own JFrog Container Registry instance. Smart remote repositories are especially useful when changes are made to the original container image, e.g. when its properties are changed or when it is deleted.

    • Virtual repositories encapsulate any number of local and remote repositories and represents them as a unified repository accessed from a single URL. It gives you a way to manage which repositories are accessed by developers since you have the freedom to mix, match and modify the actual repositories included within the virtual repository.

  • Multiple Container Registries:Useful for separating teams/projects and for promoting images from one environment to the next (Development, Staging, and Production).