Docker container isimlendirmesi

Docker’da container oluştururken elle isim vermek zorunda değiliz. Bu durumda Docker’ın kendisi bir container ismi seçiyor. Bu isimleri seçerken de bir adet sıfat seçiyor ve sonuna bir bilim insanı veya hacker ismi ekliyor.

Docker’daki container isimlerini inceleyelim

Çalışan container’ları görüntülemek istediğimizde bu isimlerle karşılaşabiliyoruz. Mesela birkaç container açıp bakalım:

</figure>

Ve container isimlerini inceleyelim:

<figcaption>Docker tarafından üretilen container isimleri</figcaption></figure>

İsimleri incelediğimizde yazının başında bahsettiğimiz sıfat_kişiismi formatını görebiliyoruz. Bu isimlendirmenin sebebi ise, kaynak kodunda (Golang ile yazılı) bulunan names-generator.go dosyasında saklı. İlgili dosyaya buradan{.rank-math-link} ulaşabilirsiniz.

Dosyanın 9. satırında{.rank-math-link}, isimlerin sol kısmında yer alan sıfatları görebiliriz.

<figcaption>Docker Container İsimlerinin Sol Kısmı</figcaption></figure>

Container isimlerinin sağ kısmı ise 122. satırda{.rank-math-link} right ismiyle tanımlanmış bir diziden geliyor.

<figcaption>Docker Container İsimlerinin Sağ Kısmı</figcaption></figure>

Şimdi esas konuya geliyoruz. İsim neden boring_wozniak olamaz? Dosyanın 844. satırında{.rank-math-link} bu sorunun cevabını buluyoruz:

</figure>

“Steve Wozniak sıkıcı bir insan olmadığı için” kod rastgele seçimlerle bu ismi üretirse, başa dönüp tekrar isim seçmeye başlıyor. Daha enteresan olan ise, kodun bu ismi üretmeye devam ettikçe burada kısılıp kalacağı. Tabii ki kodun sürekli aynı çıktıyı vermesi pek olası olmadığı için bu bir problem oluşturmuyor.

Bu kadar engele rağmen, yine de bir şekilde bu ismi kullanmak isterseniz, container oluştururken --name parametresi ile isim vermeniz yeterli olacaktır.

Bu fikrin kim tarafından, ne zaman eklendiğine bakmak istersek, git in blame özelliği ile kısa bir tura çıkabiliriz. 24 Kasım 2013’te, Solomon Hykes’ın attığı bir commit{.rank-math-link} içerisinde tüm bu sorularımızın cevabını buluyoruz.

Docker İpucu serisindeki önceki yazıları da inceleyebilirsiniz:

</figure>

</figure>