GitLab Container Registry is a secure and private registry for Docker images integrated completely in Gitlab. In this tutorial we will setup and use GitLab Container Registry. If you're using previous versions of Gitlab upgrade and then follow this tutorial.

SSL Certificate - Eventhough docker may support unsecured private registries(self signed SSL Certifcates and http registy URL's). GitLab seems to accept only "https" in url of registry. as when i tried to use http in URL it throw me the following error

  RuntimeError
  ------------
  Unsupported GitLab Registry external URL scheme: http

you can use self signed certificates or use letsencypt's certbot(which is opensource certyfing tool).

Using Certbot

To use certbot stop any webservers you may be runnng(like nginx, apache). Ensure DNS Mapping is pointing to correct server and run following commands

git clone https://github.com/certbot/certbot
cd certbot
./certbot-auto certonly --standalone -d <domain-name>

you will be asked to enter an email for identity and recovery and your cert and key will be available in 

certificate -  /etc/letsencrypt/live/<domain-name>/fullchain.pem;
certificate_key - /etc/letsencrypt/live/<domain-name>/privkey.pem;

Modifying /etc/gitlab/gitlab.rb file: 

registry_external_url 'https://<domain/sub-domain name>'
registry_nginx['ssl_certificate'] = <location-to-certificate>
registry_nginx['ssl_certificate_key'] = <location-to-certificate-key>

Reconfigure GitLab

sudo gitlab-ctl reconfigure

Then under every Project Menu will have a Tab "Container Registry" which points to Projects Docker Image Container.

Subscribe To our news letter

Subscribe to our news letter to receive latest blog posts into your inbox. Please fill your email address in the below form.
*We don't provide your email contact details to any third parties
Latest Comments
Related Articles
Celery With Supervisor Siva Chittamuru

Celery is a task queue with focus on real-time processing, while also supports task scheduling. Task queues are used as mechanisms to distribute work across ...

Continue Reading...
HTTP2 and SPDY Protocols - Make HTTP Faster and Safer Dinesh Deshmukh

HTTP/2, next version of HTTP/1, http/1 can not handle the present web which has become more resource intensive, it cannot processes multiple requests in an ...

Continue Reading...
Understanding Logstash Parsing Configurations and options Jagadeesh V

In This Tutorial we will learn to customize Logstash to parse any type of Log Files. Logstash helps us to process logs and other event ...

Continue Reading...