Docker Registry vs Nexus/Artifactory

Is the ‘Docker registry’ in Docker engine similar to Nexus/Artifactory? What are the similarities and differences between them? If we already have Nexus, can we use it as an alternative to Docker registry and plug it into the Docker engine?

Could someone help me clear this?

  • Ran out of Docker disk space
  • Can I create a container image with docker-compose build?
  • what is a best way to store data in docker?
  • Using Docker Kitematic, how can I switch to different docker machine?
  • Google Cloud Shell, Upgrade Docker from 1.9.1, it's impossible?
  • mount a host volume to a container created through Dockerfile
  • Why am I getting UTF-8 invalid bye sequence ArgumentErrors in dotenv only on EC2?
  • Update & Upgrade Docker distribution on Windows
  • How to get my hdfs docker client running?
  • Error while execing a docker image
  • Apache config for redirecting traffic to different host and port
  • Writing Elasticsearch logs from Docker to an external volume
  • One Solution collect form web for “Docker Registry vs Nexus/Artifactory”

    A Docker registry is a repository for managing Docker images. The registry is a service of its own and not part of the Docker engine.
    The registry has a similar usage to repository managers like Artifactory or Nexus, with one big difference: a repository manager will usually be able to manage repositories for different types of technologies, for example: Maven, NPM, Ruby Gems, CocoaPods, Git LFS, Python Eggs and others. A pure Docker registry will only manage Docker images.
    There are couple of things you should take into consideration when choosing a tool for managing your Docker registry:

    1. Performance – Docker images can be big. In a CI/CD environment generating large numbers of Docker images a day you need a tool that will able to deal with the load and scale as you grow. Some tools offers a clustered (HA) version which allows spreading the load between multiple nodes.
    2. Storage management – Docker images consumes a lot of storage space. It is better to choose a tools which manages the required storage efficiently:
      • Supports deduplication of image layers between images and repositories
      • Efficiently cleans of unused image layers (garbage collection). Notice that some tools offers a stop the world GC mechanism which hurts performance.
      • Offers cleanup procedures/mechanisms for images which allows deleting images based on age, usage etc.
      • Supports multiple storage backends – file system, object storage
    3. Support for multiple registries – some tools limits you to managing a single registry while other allows managing multiple registries in parallel. This is useful when you need to separate between snapshots and production ready images.
    4. Support for the latest Docker version – the Docker registry API and manifests format are changing often. Make sure you choose a tool which supports all the latest changes.
    5. Universal – If you need to manage more than Docker images, which is usually the case since you also use tools like NPM, Bower, Yum and others which also requires a registry, choose a universal repository manager which supports such technologies.
    6. Enterprise ready – look for a tool which is enterprise ready with support for features such a LDAP connectivity, role based access control, high availability, multi site development etc.

    Disclaimer: I work for JFrog the company behind Artifactory

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.