CodeBlanks Logo Icon CodeBlanks

docker push

docker push ile image'ı registry'ye göndermeyi öğrenirsin.

docker push

docker push, yerel image'ı registry'ye yükler. Image adı hedef registry ve hesabı içermelidir; Docker Hub için kullanıcı/depo:etiket:

docker login
docker tag api:1.2.0 ali/api:1.2.0
docker push ali/api:1.2.0

Registry'de zaten var olan katmanlar yeniden yüklenmez (Layer already exists); yalnızca değişenler gider.

Tüm etiketleri göndermek

Bir depodaki tüm etiketleri tek seferde göndermek için --all-tags kullanılır. Başka bir registry için adın başına adresi yazılır:

docker push --all-tags ali/api
docker tag api:1.2.0 ghcr.io/ali/api:1.2.0
docker push ghcr.io/ali/api:1.2.0

Uygulama Docker Hub'a yayınla

Üç komut yaz: Docker Hub'a giriş yap; yerel api:1.3.0 image'ını ali/api:1.3.0 olarak etiketle; onu gönder.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
docker login
docker tag api:1.3.0 ali/api:1.3.0
docker push ali/api:1.3.0

Beklenen çıktı

Login Succeeded
The push refers to repository [docker.io/ali/api]
5f6e7d8c9b0a: Pushed
a2318d6c47ec: Layer already exists
1.3.0: digest: sha256:7b1c… size: 1789

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 docker push api:1.2.0 neden "denied: requested access to the resource is denied" hatası verir?

  • Image çok büyüktür
  • İnternet yoktur
  • Etiket yanlış biçimdedir
  • Ad bir hesap içermediği için library/api'ye yüklemeye çalışır Doğru cevap

Açıklama: Önce kullanici/api:1.2.0 olarak etiketlenmelidir.

2 Deponun tüm etiketlerini gönder.

Soru
docker push ____ ali/api
Cevap
docker push --all-tags ali/api

Açıklama: --all-tags depodaki her etiketi yükler.

3 Eşleştir.

Kavram Anlamı
docker login Kimlik doğrulama
docker tag Hedef adı ver
docker push Yükle
Layer already exists Atlanan katman

Başlangıç bölümündeki tüm dersler