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?

  • InteliJ Idea: build and run Java apps in docker containers
  • How do I build docker images without docker?
  • Running nginx as non-root user on Openshift and listening on port 80
  • How to run “docker-compose up” command in .sh file?
  • Docker cloud not find images after location changed
  • Why do Docker overlay networks require consensus?
  • No public port '22/tcp' published for test_sshd
  • How to customize the configuration file of the official PostgreSQL Docker image?
  • Accessing node_modules after npm install inside Docker
  • docker native networking vs weave net/flux/show
  • Starting jupyterhub with docker
  • Cant Connect to HBase in a Docker instance
  • 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.