Docker image’leri, farklı sürümlerini ve varyasyonlarını yönetmek için tag adı verilen etiketleme sistemini kullanır. Bu bölümde, Docker Hub’daki tag’lerin önemini ve kendi image’lerinize nasıl yeni tag’ler atayabileceğinizi inceleyeceğiz.
Docker Image Tag’leri ve Sürümler
Docker Hub’da bulunan her image için, “Supported tags and respective Dockerfile links” bölümü bulunur. Bu kısım, o image’in resmi olarak desteklediği ve erişilebilir olan tüm sürümleri (tag’leri) listeler. Her bir tag, genellikle image’in belirli bir sürümünü veya konfigürasyonunu temsil eder.
Yukarıdaki görselde de görüldüğü gibi, Redis image’i için 6, 7 ve 8 gibi farklı ana sürümlerin tag‘leri listelenmiştir. Bu sayede, uygulamanızın gereksinimlerine uygun belirli bir Redis sürümünü kolayca seçip kullanabilirsiniz.
Örnek: Belirli Bir Sürümü Çalıştırma
docker run komutuyla bir image’i çalıştırırken, istediğiniz tag‘i belirtmezseniz varsayılan olarak latest tag‘i kullanılır. Ancak, belirli bir sürümü çalıştırmak isterseniz, image adının sonuna : ile birlikte tag‘i eklemeniz gerekir.
docker run redis:6Daha önce docker pull redis (latest tag’ini indirir) ile Redis’in en son sürümünü indirmiş olsanız bile, yukarıdaki docker run redis:6 komutu, yerel ortamınızda redis:6 image‘ini arar. Eğer bulamazsa, otomatik olarak Docker Hub’dan redis:6 tag‘ine sahip sürümü çeker ve ardından bu image‘den yeni bir container başlatır.
Bu komutun ardından docker images komutunu çalıştırdığınızda, Redis‘in hem latest hem de 6 tag‘ine sahip sürümlerinin yerel makinenizde olduğunu ve 6 tag‘ine sahip container‘ın çalıştığını (veya çalıştırılıp durduğunu) göreceksiniz. docker images çıktısında çalıştırılan Redis container‘ın TAG kısmında “6” ibaresi yer alacaktır.
Bir Image Üzerinden Yeni Tag Üretmek
Mevcut bir Docker image’i için yeni bir tag oluşturabilirsiniz. Bu, genellikle bir image’in farklı isimler altında veya farklı amaçlar için referans verilmesini istediğinizde kullanışlıdır. Orijinal image ve yeni tag ile oluşturulan image, aynı Image ID‘ye sahip olacaktır, çünkü temelde aynı ikili veriyi işaret ederler.
docker image tag ubuntu myubuntuBu komut, yerelinizdeki ubuntu:latest image‘i için myubuntu:latest adında yeni bir tag üretir. docker images komutunu çalıştırdığınızda, hem ubuntu hem de myubuntu adında, ancak aynı Image ID‘sine sahip iki girdi göreceksiniz. Bu işlem, image’in kendisini kopyalamaz, yalnızca ona yeni bir referans (takma ad) oluşturur.
