0

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?

2 Answers 2

0

I take for granted you are referring to the registry server released by docker.com. The documentation 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, 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 is a multi format repository manager supporting docker registries (requires java).
  • gitlab-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 listing other products I have no experience with:

It also mentions as a bonus the use of Openshift as a registry, 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.

1
  • Note that most of these solutions will actually come with an "embedded" Registry Server by Docker.com. Commented May 28, 2019 at 11:55
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 to host my own private docker registry container

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.