Docker Hub Nedir? Nasıl Image Yüklenir?

Docker Hub, Docker image'larını depolamanıza, paylaşmanıza ve dağıtmanıza olanak sağlayan bir platformdur. Docker Hub, image'larınızı bir repository olarak oluşturmanıza ve bu repository'i istediğiniz zaman kullanarak image'larınızı çalıştırmanıza olanak sağlar. Docker Hub ayrıca, image'larınızı paylaşmanıza ve diğer kullanıcıların image'larınızı kullanmasına olanak sağlar.

Docker Hub, kullanıcılar için ücretsiz bir hizmettir. Ayrıca çok sayıda önceden hazırlanmış image'ı da barındıran bir registry'dir. Bu sayede, kendi image'larınızı oluşturmak yerine, Docker Hub üzerinde bulunan image'ları kullanarak da projelerinizi hızlı bir şekilde geliştirebilirsiniz.

1. Docker Hub Kayıt Olma ve Giriş Yapma

Docker Hub ile çalışabilmek için öncelikle https://hub.docker.com/ adresinden kayıt olmalı ve CLI veya Desktop uygulamasından docker login komutu ile giriş yapmalısınız.

1. CLI ile docker login işlemi

İsterseniz Docker Desktop uygulamasını kullanarakta giriş işlemini yapabilirsiniz. Desktop uygulaması ile giriş yaptığınızda CLI içinde login işlemi yapılmış olacaktır.

Docker Desktop login işlemi

2. Docker Hub Repository Nasıl Oluşturulur?

Login işlemi yaptıktan sonra image'lerimizi yükleyebilmek için bir repository'e ihtiyacımız var. Bunun için yeni bir  repository oluşturmalıyız. Docker  Hub sitesindeki menüde yer alan Repositories bağlantısından ilgili sayfaya ulaşabilirsiniz.

💡
Docker Hub üzerinde repository'ler image isimlerine denk gelir. Örneğin alpine bir repository'dir. Alpine versiyonlarının herbiri ise ayrı bir image'dir.
Repositories menüsü

Yeni bir repository oluşturmak için iki seçeneğimiz mevcut:

  • Public repository
  • Private repository

Public olarak oluşturduğunuz repository'leriniz herkes tarafından görülebilir ve kullanılabilir. Eğer bunu istemiyorsanız Private repository oluşturmanız gerekmektedir. Fakat 1 adet private repository'i ücretsiz olarak oluşturabilirsiniz. Gerisi için ücret ödemeniz  gerekir.

Yeni bir repository oluşturma sayfası

Repository adınızı belirleyip oluşturduktan sonra artık cihazımızdaki image'lerimizi yükleyebilir hale geleceğiz.

Repository listesi sayfası

2. Docker Hub'a Image Nasıl Yüklenir?

Bir image'ı Docker Hub üzerinde açtığınız repository'e yükleyebilmek için  öncelikle o image'ı kullanıcı adınız ve repository isminizle tag'lemeniz gerekir.

Kullanmamız gereken tag ismi

Kullanmanız  gereken tag adını repository sayfasına girdiğinizde görebilirsiniz. Bu örnekte kullanmamız gereken tag kerteriz/kerterizblog'dur.  

Artık sırada yükleyeceğimiz image'ı bu isimle ve docker tag komutu ile tag'lemek var. Örneğin bilgisayarımda mevcut  olan alpine image'ini aşağıdaki komutla tag'leyebilirim.

docker tag alpine:latest kerteriz/kerterizblog:latest
docker tag komutu ile image'ı tag'lemek

Sıradaki işlem bu yeni tag'lenmiş image'i docker push komutu ile Docher Hub üzerindeki kendi repository'imize yüklemek. Bunun için aşağıdaki komutu kullanabiliriz.

docker push kerteriz/kerterizblog:latest
docker push komutu ile image'ı Docker Hub'a gönderme

Artık image'imiz kendi repository'sinde belirttiğimiz latest tag'i ile yer almaya başladı.

Bu andan itibaren bu image'i her yerden aşağıdaki komut ile çekebilir ve kullanabilirsiniz.

docker pull kerteriz/kerterizblog:latest

Docker Hub İçin Ücretsiz Alternatif Nedir? Kendi Özel Registry'mi Nasıl Kurabilirim?

Docker Hub private repolar için ücretli bir registry'dir ve internet erişimi gerektirir. Eğer kendi organizasyonunuzda ücretsiz private repository'ler oluşturmak ve internet erişimini engellemek istiyorsanız kendi özel registry'nizi ücretsiz olarak oluşturabilirsiniz.

Aşağıdaki bağlantı ile ücretsiz Docker Registry kurulumunu yapabilir, kendi private repository'lerinizi oluşturabilir, güvenliğini sağlayabilir ve hatta çok sık kullandığınız image'leri bu registry'e taşıyarak network yükleme hızını artırabilirsiniz.

Docker Registry Kurulumu ve SSL/TLS Aktivasyonu
Docker Registry, Docker image’leri depolayan ve dağıtmanıza olanak tanıyan,durum bilgisi olmayan, yüksek düzeyde ölçeklenebilir bir sunucu tarafıuygulamasıdır. Docker private / local registry ile imageleri kendi sunucunuzdadepolayabilir, erişimi kısıtlayabilir ve internet band genişliğinizirahat…