Home
» PC İpuçları
»
Docker: Geçersiz Başvuru Biçimi hatası nasıl düzeltilir?
Docker: Geçersiz Başvuru Biçimi hatası nasıl düzeltilir?
Kaydolun ve günde 1000 $ kazanın ⋙
Docker , kapsayıcıları oluşturmayı, çalıştırmayı ve yönetmeyi kolaylaştırır. Ancak, bir imajı çalıştırırken veya oluştururken "Geçersiz Başvuru Biçimi" hatasıyla karşılaşabilirsiniz. Çoğu durumda bu, imaj adında veya etiketinde küçük bir biçimlendirme hatasından kaynaklanır. Örneğin, hata büyük harflerden, özel karakterlerden veya eksik değerlerden kaynaklanabilir. Bu kılavuz, bu hatanın yaygın nedenlerini ve tekrar oluşmasını önlemek için nasıl düzeltileceğini açıklayacaktır.
"Geçersiz Referans Biçimi" hatasını düzeltin
"Geçersiz Referans Biçimi" hatasının en yaygın nedenlerini ve nasıl düzeltileceğini öğrenelim:
Resim adlarında büyük harfler
Docker, görüntü adlarının küçük harfle yazılmasını gerektirir. Tek bir büyük harf bile biçimlendirme hatalarına neden olabilir. Örneğin, aşağıdaki komutu çalıştırmak bir hatayla sonuçlanacaktır:
docker pull NGINX
Arşiv adları küçük harfle yazılmalıdır
Bu hatayı önlemek için, komutu çalıştırmadan önce görüntü adınızın küçük harflerle yazıldığından emin olun.
docker pull nginx
Küçük harfleri kullanın
Özel veya geçersiz karakter
Kullanıcılar bazen Docker'ın izin vermediği karakterleri yanlışlıkla ekler. Bunlar arasında @ işaretleri, boşluklar veya bir web sitesinden ya da belgeden kopyalanan, normal görünen ancak normal olmayan karakterler bulunur.
Örneğin, aşağıdaki komut @ özel karakterini içeriyor ve bu da aşağıdaki hataya neden olacaktır:
docker run ubuntu@:latest
Özel karakter hatası
Bu hatayı düzeltmek için komutta fazladan karakter veya biçimlendirme hatası olmadığından emin olun. Komutu kontrol etmek ve temizlemek için düz metin düzenleyici kullanabilirsiniz (gerekirse):
docker run ubuntu:latest
Özel karakterlerden kaçının
Etiketsiz iki nokta üst üste
En sık yapılan hatalardan biri, resim adının sonuna iki nokta üst üste koyup etiketi eklememektir. Örneğin, Node'u çekmek için aşağıdaki komutu deneyelim:
docker pull node:
Docker, iki noktadan sonra latest, 18-alpine veya başka bir geçerli etiket gibi bir değer bekler. Herhangi bir değer girilmezse, görüntü adı eksik kabul edilir ve "Geçersiz Referans Biçimi" hatasına neden olur:
Etiketsiz iki nokta üst üste
Bu hatayı düzeltmek için, resim adını tam ve geçerli hale getirmek için iki noktadan sonra uygun bir etiket ekleyin:
docker pull node:latest
İki noktadan sonra etiket ekle
Dosya yolu veya birim bağlama boşluk içeriyor
Özellikle -v (birim bağlama) gibi seçeneklerle boşluk içeren bir dosya yolu eklediğinizde, Docker yolun bazı kısımlarını ayrı argümanlar veya hatta görüntü adının bir parçası olarak yanlış yorumlayabilir. Sonuç olarak, aşağıda gösterilen gibi beklenmedik sonuçlarla karşılaşabilirsiniz:
docker run -v /home/user/My Folder:/app ubuntu
Dosya adlarındaki boşluklar
Bunu önlemek için, dosya yolunu her zaman aşağıda gösterildiği gibi çift tırnak işaretleri arasına boşluklar koyarak yazın:
docker run -v "/home/user/My Folder:/app" ubuntu
“/home/user/My Folder” ifadesini, konteynere bağlamak istediğiniz dizinin gerçek yoluyla değiştirin .
Değişkenlerin uygunsuz kullanımı
Docker ile çalışırken, özellikle görüntü sürümlerini belirtirken komutlarda değişken kullanmak yaygındır. Ancak, $VERSION gibi bir değişken doğru şekilde ayarlanmazsa, Docker "Geçersiz Referans Biçimi" hatası gibi sorunlarla karşılaşabilir.
Örneğin, Ubuntu'yu Docker Hub'dan çekmek için aşağıdaki komutu çalıştırın:
docker pull ubuntu:$VERSION
Burada, $VERSION, çekmek istediğiniz Ubuntu imajının sürümünü temsil ediyor. Ancak bir değer atamadığınız takdirde, Docker komutu "docker pull ubuntu:" olarak yorumlar. Bu, iki nokta üst üste işaretiyle bittiği ve gerekli sürüm etiketini içermediği için geçersiz bir imaj adı ile sonuçlanır.
Değişkenlerin yanlış kullanımı
Bunu önlemek için, komutta kullanılan tüm değişkenlerin doğru tanımlandığından emin olun. Linux'ta, aşağıdaki sözdizimini kullanarak bir değişken belirleyebilirsiniz.
$VERSION=latest
Daha sonra aşağıdaki komutu çalıştırarak belirtilen sürümü çekin.
docker pull ubuntu:$VERSION
Windows CMD'de, bir değişkeni (örneğin version) tanımlamak için set anahtar sözcüğünü kullanmanız ve ardından docker pull gibi komutlarda buna başvurmak için %VARIABLE% sözdizimini kullanmanız gerekir.
set VERSION=latest
docker pull ubuntu:%VERSION%
Burada, $VERSION en son değeri tutar, bu nedenle Docker ubuntu:latest imajını sorunsuz bir şekilde çeker. Gerekirse, 18.04 gibi belirli bir sürüm de atayabilirsiniz.
Değişkenleri doğru şekilde tanımlayın
Kopyalama ve yapıştırma sorunu
Kullanıcılar bazen komutları çevrimiçi eğitimlerden veya belgelerden kopyalar. Kopyalanan bu komutlar, görünmez boşluklar, İngilizce olmayan noktalama işaretleri veya özel tırnak işaretleri gibi gizli karakterler içerebilir. Bu karakterler, Docker komutlarınızı sessizce bozabilir.
Bunu önlemek için, mümkünse komutu kendiniz yazmanız veya istenmeyen biçimlendirmeyi kaldırmak için komutu önce düz metin düzenleyicisine yapıştırmanız daha iyidir.
Artık Docker'daki "Geçersiz Referans Biçimi" hatasının yaygın nedenlerini ve nasıl düzeltileceğini bildiğinize göre, gelecekte bu sorunla karşılaşmamak için doğru yoldasınız. Büyük/küçük harf kullanımını kontrol etmekten değişkenlerinizin doğru ayarlandığından emin olmaya kadar, bu basit ipuçları size çok zaman ve hayal kırıklığı kazandırabilir. Daha fazla bilgi edinmek istiyorsanız, özel Docker görüntülerinizi nasıl etiketleyip kayıt defterine göndereceğinizi veya sisteminizi temiz tutmak için kullanılmayan görüntüleri nasıl temizleyeceğinizi de öğrenmek isteyebilirsiniz.