Answers: <p>I take for granted you are referring to the <a href="https://docs.docker.com/registry/" rel="nofollow noreferrer">registry server released by docker.com</a>. The <a href="https://docs.docker.com/registry/deploying/" rel="nofollow noreferrer">documentation</a> clearly states on the very first line:</p>
  
  <blockquote>
    <p>Before you can deploy a registry, you need to install Docker on the host</p>
  </blockquote>
  
  <p>Since the registry is the main product of the <a href="https://github.com/docker/distribution" rel="nofollow noreferrer">docker/distribution opensource project</a>, you could fork and see how you can modify this as a standalone install not requiring docker, but I have no clue if it is possible and that would probably end up being a bad idea.</p>
  
  <p>There are other existing products you can install 'standalone' that will let you manage your own registry. But they all come with some degree of requirements (java, ruby...). I have experience with 2 free products I use daily:</p>
  
  <ul>
  <li><a href="https://fr.sonatype.com/nexus-repository-oss" rel="nofollow noreferrer">Sonatype nexus3 oss</a> is a multi format repository manager supporting docker registries (requires java).</li>
  <li><a href="https://about.gitlab.com/install/?version=ce" rel="nofollow noreferrer">gitlab-ce</a> has support for container registries in each projects if you configure it (ruby required).</li>
  </ul>
  
  <p>The latest one is probably an overkill if you only need a basic registry and not all of the git, wiki, etc. ressources.</p>
  
  <p>I recently came across <a href="https://www.objectif-libre.com/en/blog/2018/08/02/self-hosted-docker-registries-showdown/" rel="nofollow noreferrer">a fairly recent review article</a> listing other products I have no experience with:</p>
  
  <ul>
  <li><a href="https://github.com/vmware/Harbor" rel="nofollow noreferrer">Harbor</a> from VMware</li>
  <li><a href="https://github.com/SUSE/Portus" rel="nofollow noreferrer">Portus</a> by Suse</li>
  </ul>
  
  <p>It also mentions as a bonus the use of <a href="https://docs.openshift.com/container-platform/latest/install_config/registry/accessing_registry.html" rel="nofollow noreferrer">Openshift as a registry</a>, but even minishift for something as light as possible will require to install docker.</p>
  
  <p>All of these solutions can probably meet your 'native run' requirements, but they are all much more complex to install and maintain than simply poping-up a <code>registry:2</code> container.</p>
  
Answers: CC BY-SA 4.0
Answers: 2019-05-28T11:55:04.667Z
Answers: Note that most of these solutions will actually come with an "embedded" Registry Server by Docker.com.
Answers: Florin Asăvoaie
Answers: CC BY-SA 4.0
Answers: 2019-05-27T15:32:21.027Z
Answers: 2019-05-27T15:32:21.027Z
Answers: Zeitounator
Answers: <p><strong>DEPRECATED PYTHON</strong></p>
  
  <p>Originally you could install <code>docker-registry</code> via <code>pip</code> <a href="https://github.com/docker/docker-registry" rel="nofollow noreferrer">https://github.com/docker/docker-registry</a></p>
  
  <p>But this was deprecated with the new generation of <code>docker-registry</code> in <code>golang</code>   </p>
  
  <blockquote>
    <p>Notice: The classical python "Docker Registry" is deprecated, in favor
    of a new golang implementation. This here is kept for historical
    purpose, and will not receive any significant work/love any more. You
    should head to the landing page of the new registry or the "Distribution" github project instead.</p>
  </blockquote>
  
  <p>Here is an old guide that I wouldn't recommend.<br>
  <strong>OLD GUIDE (2014):</strong> <a href="https://www.ceondo.com/notes/docker-registry/" rel="nofollow noreferrer">https://www.ceondo.com/notes/docker-registry/</a></p>
  
  <hr>
  
  <p><strong>LINUX SNAPS</strong></p>
  
  <p>You can also look into Linux Snaps<br>
  <strong>LINK:</strong> <a href="https://snapcraft.io/docker" rel="nofollow noreferrer">https://snapcraft.io/docker</a><br>
  <strong>GUIDE:</strong> <a href="https://www.allprogrammingtutorials.com/tutorials/installing-docker-on-ubuntu-centos-using-snap.php" rel="nofollow noreferrer">https://www.allprogrammingtutorials.com/tutorials/installing-docker-on-ubuntu-centos-using-snap.php</a>  </p>
  
  <pre><code># Lookup docker snap
  snap info docker
  
  # Install from stable channel
  sudo snap install docker
  
  # Install from a specific channel for deploying older versions
  sudo snap install --channel=&lt;channel-name&gt; docker
  </code></pre>
  
  <hr>
  
  <p><strong>USING DOCKER</strong></p>
  
  <p>The fastest way to get a private docker registry server running is to install docker and then just run a detached container</p>
  
  <pre><code>sudo apt-get update
  sudo apt-get install docker.io
  sudo systemctl start docker
  sudo systemctl enable docker
  docker --version
  docker run -d -p 5000:5000 -v /registry/images:/var/lib/registry --restart=always --name registry registry:2
  </code></pre>
  
  <p>You may need to setup persistent volumes to store the library images.  </p>
  
  <p>I'm currently using docker installed on a <a href="https://www.storagereview.com/synology_diskstation_ds1815_review" rel="nofollow noreferrer">Synology DiskStation</a> to host my own private docker registry container</p>
  
Answers: CC BY-SA 4.0
Answers: 2019-05-28T06:14:10.487Z
Answers: 2019-05-28T06:19:23.557Z
Answers: 2019-05-28T06:19:23.557Z
Answers: Adan Rehtla
Body: <p>I want to host my own docker-registry server to be independent from docker-hub.<br>
  I want to run it native on my server, but I can only find documentations, which are using running it inside a container.</p>
  
  <p>My question:<br>
  Is it possible to install docker registry over a package or do i have to run it in a container?</p>
  
Tags: <docker><docker-registry>
Title: Host a docker registry native
UserDisplayName: Ace of Spade
ThreadText: # Host a docker registry native
  
  (Asked by: username_0 on 2019-05-27)
  
  I want to host my own docker-registry server to be independent from docker-hub.  
  I want to run it native on my server, but I can only find documentations, which are using running it inside a container.
  
  My question:  
  Is it possible to install docker registry over a package or do i have to run it in a container?
  
  **Tags:** docker, docker-registry
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2019-05-27. Score: 0 | Accepted answer
  
  I take for granted you are referring to the [registry server released by docker.com](https://docs.docker.com/registry/). The [documentation](https://docs.docker.com/registry/deploying/) clearly states on the very first line:
  
  > Before you can deploy a registry, you need to install Docker on the host
  
  Since the registry is the main product of the [docker/distribution opensource project](https://github.com/docker/distribution), you could fork and see how you can modify this as a standalone install not requiring docker, but I have no clue if it is possible and that would probably end up being a bad idea.
  
  There are other existing products you can install 'standalone' that will let you manage your own registry. But they all come with some degree of requirements (java, ruby...). I have experience with 2 free products I use daily:
  
  * [Sonatype nexus3 oss](https://fr.sonatype.com/nexus-repository-oss) is a multi format repository manager supporting docker registries (requires java).
  * [gitlab-ce](https://about.gitlab.com/install/?version=ce) has support for container registries in each projects if you configure it (ruby required).
  
  The latest one is probably an overkill if you only need a basic registry and not all of the git, wiki, etc. ressources.
  
  I recently came across [a fairly recent review article](https://www.objectif-libre.com/en/blog/2018/08/02/self-hosted-docker-registries-showdown/) listing other products I have no experience with:
  
  * [Harbor](https://github.com/vmware/Harbor) from VMware
  * [Portus](https://github.com/SUSE/Portus) by Suse
  
  It also mentions as a bonus the use of [Openshift as a registry](https://docs.openshift.com/container-platform/latest/install_config/registry/accessing_registry.html), but even minishift for something as light as possible will require to install docker.
  
  All of these solutions can probably meet your 'native run' requirements, but they are all much more complex to install and maintain than simply poping-up a `registry:2` container.
  
  > **Comments:**
  > **username_2**: Note that most of these solutions will actually come with an "embedded" Registry Server by Docker.com.  
  
  ---
  
  ### Answer by username_3 on 2019-05-28. Score: 0
  
  **DEPRECATED PYTHON**
  
  Originally you could install `docker-registry` via `pip` <https://github.com/docker/docker-registry>
  
  But this was deprecated with the new generation of `docker-registry` in `golang`
  
  > Notice: The classical python "Docker Registry" is deprecated, in favor
  > of a new golang implementation. This here is kept for historical
  > purpose, and will not receive any significant work/love any more. You
  > should head to the landing page of the new registry or the "Distribution" github project instead.
  
  Here is an old guide that I wouldn't recommend.  
  **OLD GUIDE (2014):** <https://www.ceondo.com/notes/docker-registry/>
  
  ---
  
  **LINUX SNAPS**
  
  You can also look into Linux Snaps  
  **LINK:** <https://snapcraft.io/docker>  
  **GUIDE:** <https://www.allprogrammingtutorials.com/tutorials/installing-docker-on-ubuntu-centos-using-snap.php>
  
  ```
  # Lookup docker snap
  snap info docker
  
  # Install from stable channel
  sudo snap install docker
  
  # Install from a specific channel for deploying older versions
  sudo snap install --channel=<channel-name> docker
  
  ```
  
  ---
  
  **USING DOCKER**
  
  The fastest way to get a private docker registry server running is to install docker and then just run a detached container
  
  ```
  sudo apt-get update
  sudo apt-get install docker.io
  sudo systemctl start docker
  sudo systemctl enable docker
  docker --version
  docker run -d -p 5000:5000 -v /registry/images:/var/lib/registry --restart=always --name registry registry:2
  
  ```
  
  You may need to setup persistent volumes to store the library images.
  
  I'm currently using docker installed on a [Synology DiskStation](https://www.storagereview.com/synology_diskstation_ds1815_review) to host my own private docker registry container
  
  
  ---
  
  