Skip to content

Setup Docker Registry

Published: at 06:19 PMSuggest Changes

Introduction

Docker Registry adalah tempat dimana kita menyimpan dan mendistribuskikan docker image. Kita bisa mendeploy Docker Registry secara local agar tidak terus menerus mengambil dari registry external seperti Docker Hub, GCR, dll.

Contoh Case:

Setup Registry

Untuk setup docker registry sangatlah gampang, kita tinggal menjalankan container dengan image registry. Disini saya expose port ke 5000, mount folder registry nya ke folder host agar data image tidak hilang saat container terhapus, dan saya set restart ke unless-stopped agar menjaga container tetap hidup jika suatu saat container berhenti.

docker run -d --name registry -p 5000:5000 --restart unless-stopped -v /mnt/registry:/var/lib/registry registry:latest

Push Image
Sekarang kita bisa menyimpan image ke registry dengan cara:

docker tag my-image localhost:5000/my-image
docker push localhost:5000/my-image

List Images

Untuk melihat list avaible images kita bisa request ke api dengan cara:

$ curl -X GET http://localhost:5000/v2/_catalog
{"repositories":["my-image"]}

Selengkapnya tentang docker registry api bisa check disini

Pull Images Dari Client/Server Lain

Karena registry yang kita buat tidak menggunakan tls/ssl, jadi akan terdeteksi unsecure connection atau insecure registry saat kita mengepull image dari device lain. Secara default Docker hanya mengijinkan pull menggunakan secure connection.

Untuk mengatasi hal tersebut kita bisa menambahkan file /etc/docker/daemon.json yang berisi:

{
    "insecure-registries": ["10.10.10.10:5000"]
}

Sesuaikan ip dengan ip server registry kalian. Lalu restart service docker:

systemctl restart docker.service

Sekarang coba kita pull image dari server/client lain, maka image akan berhasil dipull.

docker pull 10.10.10.10:5000/my-image

Remove Registry

Untuk menghapus registry kita bisa langsung saja menghapus container yang dibuat sebelumnya:

docker rm -f registry

Penutup

Sebenarnya kita bisa setup docker registry dengan secure connection dan authentication, yang mungkin akan dibahas di tulisan selanjutnya. Sekian tutorial untuk setup local docker registry, jika ada kesalahan penulisan mohon dimaafkan. Terimakasih.

Referensi:

https://docs.docker.com/registry/deploying/

https://medium.com/@dataq/membuat-docker-private-registry-6efe534df4d5


Previous Post
Setup Gitlab Server
Next Post
Apakah VPN Aman?