Docker Komutları Rehberi: “docker images” komutu ve parametreleri – 1

Docker komutları dizisinin bu yazısında, images komutu ve onun bazı temel parametrelerini anlatacağım. Ancak komutlara geçmeden önce, image kavramını kısaca bir anlatmak gerekiyor. Docker dünyasında, günün sonunda elimizde container dediğimiz işlemler(process) var. İşte, bu processleri oluşturmak için elimizde bir çeşit kaynak dosya olması lazım. Bu dosya image dosyası olarak adlandırılıyor. Image dosyası, container çalıştırmak için gerekli olan her türlü dosya, komut vb kaynağı içeren derlenmiş bir dosyadır. “Derleme” konusunu başka bir bölümde işleyeceğimizden ötürü şimdilik bu kavramı görmemezlikten gelin lütfen. Komut ve parametrelerine bakmaya başlayalım.

docker images

bu komut ile host sistemdeki(bilgisayarımızdaki) tüm image dosyaları listelenir.

REPOSITORYTAG IMAGE ID CREATED SIZE
nginxlatestac232364af842 weeks ago 142MB
debianlatestf5b06fd90040 2 weeks ago124MB
alpinelatestb2aa39c304c2 7 weeks ago7.05MB
hello-worldlatestfeb5d9fea6a5 18 months ago13.3kB
centos latest5d0da3dc9764 18 months ago231MB
“docker images” komutunun çıktısı

“docker images <isim>” isme göre image araması yapılabilir:

docker images debian

REPOSITORY TAG IMAGE ID CREATED SIZE
debian stable 3228674897d1 2 weeks ago 124MB
debian latest f5b06fd90040 2 weeks ago 124MB

Görüldüğü üzere, iki tane farklı debian sürümü mevcut.

Hem isim hem de tag için docker images <name><tag> şeklinde çalıştırılır. Mesela en son sürüm değil de, stable sürüme bakalım

docker images debian:stable

REPOSITORY TAG IMAGE ID CREATED SIZE
debian stable 3228674897d1 2 weeks ago 124MB

Varolmayan isimlerde, işlem hata vermez, sadece boş tablo gösterilir:

docker images noexistimage

REPOSITORY TAG IMAGE ID CREATED SIZE

Listeleme için, Linux stili komut da kullanılabilir:

docker image ls veya docker image list

dikkat edin, bu sefer “images” değil “image” yani sonundaki “s” çoğul belirteçi yok. Hepsi aynı çıktıyı üretir. O an sistemdeki tüm image dosyalar listelenir.

-a veya –all parameresi: Sistemdeki tüm image dosyaları listelenir. Burdaki “tüm”den kasıt, name ve tag değeri olmayan image dosyalarıdır.

docker images -a veya docker images --all

REPOSITORY TAG IMAGE ID CREATED SIZE
33e2740cd6a4 About an hour ago 122MB
debian latest f5b06fd90040 2 weeks ago 124MB

2022 Güncelleme: son versiyonlarda artık -a parametresi kullanmadan da tüm image dosyaları gösteriliyor.

-q veya –quiet parametresi: sadece ID değerlerini gösterir. NOT: sadece images için değil, sistemdeki tüm objeler için listelemede sadece ID değeri göstermek için kullanılır.

docker images -q veya docker images --quiet

ac232364af84

f5b06fd90040

b2aa39c304c2

NOT: Bu parametrenin en önemli yanı, bu şekilde gelen sonuç içindeki ID değerleri ile başka işlemler iterative bir şekilde yapılabilir. mesela image silerken docker rmi $(docker images -q) içerdeki sorgu ile dönen ID değerleri silme için gerekli olam rmi komutuna input olur.

–no-trunc parametresi: ID değerinin sadece ilk 12 değerini değil, tam uzunluktaki SHA256 değerini gösterir

docker images --no-trunc

REPOSITORY TAG IMAGE ID CREATED SIZE
debian latest sha256:f5b06fd9004027f9b29e91c94c8566c45c513469fa37d3549a99845d2c72a274 2 weeks ago 124MB
alpine latest sha256:b2aa39c304c27b96c1fef0c06bee651ac9241d49c4fe34381cab8453f9a89c7d 7 weeks ago 7.05MB