<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>

CC BY-SA 4.0
2019-05-28T11:55:04.667Z
Note that most of these solutions will actually come with an "embedded" Registry Server by Docker.com.
Florin Asăvoaie
CC BY-SA 4.0
2019-05-27T15:32:21.027Z
2019-05-27T15:32:21.027Z
Zeitounator
<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>

CC BY-SA 4.0
2019-05-28T06:14:10.487Z
2019-05-28T06:19:23.557Z
2019-05-28T06:19:23.557Z
Adan Rehtla
<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>

<docker><docker-registry>
Host a docker registry native
Ace of Spade
# 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= 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 to host my own private docker registry container


---

