Bölüm:7 Docker Registry ve DockerHub

İmage registry, docker imajlarının depolandığı konumdur. bu dockerhub veya kendi registry’miz olabilir. Docker imajlarında verilen isimler ve tagler o imajın depolandığı yeride belirtir. Dilersek dockerhub yerine kendi private registry servisimizi de kurabiliriz. Her imajın eşsiz bir ID’si vardır dilersek contaier’ımızı bu ID’lerden de başlatabiliriz.
docker.io/ubuntu:18.04 > docker.io registry adresidir. ubuntu ise repository adıdır. 18.04 ise bu repository’de bulunan imajın tag’idir. İmage pull ederken docker.io yazmıyoruz nedeni zaten docker default olarak dockerhub’a bakar.
Official image, docker tarafından desteklenen, dedike bir ekip tarafından oluşturulup dağıtılır. bu tarz imajlar kullanıcı sayısından daha fazla kişi tarafından tercih edilirler.
docker.io/onurb/nginx:latest > onurb dockerhub kullanıcısının bilgisidir. nginx ise kullanıcının repository’inde bulunan bir repodur. Dilerseniz bir repo içersinde farklı taglar kullanarak farklı imajları bir repo altında tutabiliriz. Dilersek de bir uygulamamızın 2. sürümünü tag kısmında :2 olarak belirtebiliriz.
Latest docker dünyasında varsayılan tag’dir. Başka bir tag belirtilmezse docker latest tagini çağırır.
docker image pull gcr.io/google-containers-busybox > harici bir registry’den host sistemimize imaj çektik.
Dockerhub üzerinde bulunan “plugins” kısmında docker host sistemimize indirip tanımlayabileceğimiz eklentiler bulunur. Volume,network driverları vb…
Container sekmesi tüm official ve diğer imajların bulunduğu sekmedir.
Docker imajları, dockerfile dediğimiz özel bir talimat formatıyla yaratılır. imaj yaratmak için dockerfile yaratıp onun içine talimatları yazar sonrada bu dosya ile container yaratırız. Official imajların description kısmında o imajla ilgili tüm dökümanları ve tagleri görebiliriz. ve Reviews kısmında kullanıcı yorumlarını görebiliriz. Tags kısmında taglerle ilgili bilgiye sahip olabiliriz.
Organizations, ekibimiz için ortak bir alan açıp, imajlarımızı buraya yükleyebiliriz. buradan yetkili olacak kullanıcıları grubumuza yetkili olarak atayabiliriz.
Tag & Push,
docker image tag mysql:5 onurb/dbrepo:latest > sistemimizde bulunan mysql imajının push edeceğimiz adresi yeniden isimlendirip onurb/dbrepo:latest . ardından dockerhub’mıza gönderiyoruz.
docker image push onurb/dbrepo:latest > imajımızı kendi registry hesabımızın altına dbrepo repo’muza gönderdik.