Docker, 2013’teki başlangıcından bu yana dünyayı kasıp kavurdu. Günümüz yığınlarını kullanarak yenilikler üreten deneyimli bir programcıysanız, muhtemelen docker ile çalışmışsınız veya en azından adını duymuşsunuzdur. Docker’ı kavramaya çalışan yeni başlayan biriyseniz endişelenmeyin.
Docker’ı yeni başlayanlara tanıtmak için bu kılavuzu hazırladık ve en kullanışlı 40 komutu özetledik. Docker’ın tamamı komutlar ve arayüzlerden ibaret olmasa da, temel komutlarda uzmanlaşmak, işleyişini neredeyse zahmetsizce görselleştirmenize yardımcı olacaktır.
Docker’ın Temelleri
Docker, altı yıl önce işletim sistemi düzeyinde bir sanallaştırma sağlayıcısı olarak başladı ve geliştiricilerin ürünlerini konteynerlerin içine dağıtmasına olanak tanıdı. Container’ları mini sanal makineler olarak düşünebilirsiniz.
Linux VMware araçlarına benzer işlevler sağlar ancak çok düşük CPU kaynakları gerektirir. Sonuç olarak şirketler binlerce ürünü tek bir platformda dağıtabiliyor.
Docker, bu düşük seviyeli kaynak tüketimini tasarımı sayesinde başarmaktadır. Bağımsız VMware konuk makinelerinden daha az izolasyon sağlar ve sunucularda çalışan uygulamaların gerektirmediği birçok istenmeyen özelliği ortadan kaldırır.
Dolayısıyla Docker ve VMware gibi tam teşekküllü hipervizörlerden birini seçmek yalnızca proje gereksinimlerine bağlıdır.
Docker’ın bir diğer kullanışlı özelliği de ürünleriniz için tam ortamlar sağlamasıdır. Bir mobil uygulama geliştirdiğinizi ve projeyi ortak çalışanlarla paylaşmak istediğinizi varsayalım.
Genellikle uygulamanızın gerektirdiği sürüme sahip kitaplıkları ve çerçeveleri tam olarak indirmeleri gerekir. Çeşitli yapılandırma sorunlarına yol açar ve geliştirme çabalarını önemli ölçüde azaltır.
Docker, ürün ortamının bir görüntüsünü oluşturduğundan, tüm ortak çalışanlarınız, sistem yapılandırmalarına bakılmaksızın bu görüntüyü indirebilir ve kullanabilir. Docker ortamı kendi başına getirip inşa edecek. Bunların çoğunu örneklerimiz aracılığıyla öğreneceksiniz.
Dockerfile’ı Anlamak
Docker’da Dockerfile, bir aracın ortamını tanımlamamızı sağlayan bileşendir. Docker çalışma zamanının anlayabileceği formatta yazılmış talimatları içeren bir metin dosyasıdır. Dockerfiles oluşturmak ve yönetmek basittir. Bu yüzden Dockerfiles’ın sözdizimsel çalışmasını başka bir güne bırakacağız.
Uygulamada, uygulamanız tarafından kullanılan paketleri tanımlamak, bunları getirmek ve oluşturmak için Dockerfile’ı kullanacaksınız. Bu Docker dosyasını ortak çalışanlarla paylaştığınızda, bu imajı oluşturmak için Docker’ı kullanarak ortamı kolayca kurabilirler.
Umarız bu basit ama önemli bilgi, bugün tartıştığımız komutları anlamanıza yardımcı olmak için yeterli olacaktır.
Uzmanlaşmak için Yararlı Docker Komutları
Docker ilk günlerinden bu yana büyük ölçüde büyüdü. Bugün, farklı sanallaştırma ihtiyaçlarına göre değişen çok sayıda hizmet sunmaktadır. Docker cli için çok sayıda komut mevcuttur.
Yeni Başlayanlar İçin Temel Docker Komutları
Aşağıdaki bölümde docker’ın temel komutlarını tartışacağız. Konteynerlerinizi hızlandırmanıza ve docker hakkında çok ihtiyaç duyulan bilgileri sağlamanıza yardımcı olacaklar.
1. Docker Hub’daki Görüntüleri Kullanarak Konteyner Oluşturun
Docker Hub, Docker görüntüleri için resmi Docker deposudur. Açık kaynak geliştiricileri ve kuruluşları tarafından oluşturulan binlerce önceden oluşturulmuş görüntüyü içerir. Bu depodaki bir görüntüyü kullanarak çalışan bir docker konteynerini kolayca oluşturabilirsiniz.
$ docker create -it ubuntu:xenial bash
Yukarıdaki komut, Ubuntu Xenial imajını Docker Hub’dan çeker ve bu imajı kullanarak bir konteyner oluşturur. -it bayrağı, Docker’a entegre terminali bu konteynere eklemesini söyler. Ek olarak, bash kısmı docker’a bash komutunu çalıştırmasını söyler.
2. Docker Konteynerlerini Listeleyin
Konteynerin başarıyla oluşturulup oluşturulmadığını kontrol etmek isteyeceksiniz. ps komutu, docker’a mevcut konteynerleri listelemesini söyler.
$ docker ps
Muhtemelen bu komut çalışan herhangi bir konteyner görüntülemeyecektir. Bunun nedeni henüz docker konteynerinizi başlatmamış olmanızdır. Ancak, docker’a tüm kapsayıcıları listelemesini söylemek için -a bayrağını kullanabilirsiniz.
$ docker ps -a
Bu komut, önceki komutta oluşturduğunuz kapsayıcıyı görüntülemelidir.
3. Konteynerinizi Başlatın
Konteynerlerinizi docker’da kullanmak için önce onları başlatmanız gerekir. Docker start komutu, sonraki örnekte gösterildiği gibi bunu hızlı bir şekilde yapmanızı sağlar.
$ docker start CONTAINER_ID
Burada CONTAINER_ID konteynerinizin kimliğidir. Docker ps -a komutunu çalıştırdığınızda bunu göreceksiniz. Oradan kopyalayın ve bu örnek için kullanın. Konteynerinizi saniyeler içinde başlatacaktır.
4. Konteynerinize Bağlanma
Başarılı bir şekilde başlattığınızda, kullanmak için bu konteynere bağlanmanız gerekir. Docker ekleme komutu bu amaç için burada. Aşağıdaki komut, daha önce oluşturduğunuz kapsayıcıya nasıl bağlanacağınızı gösterir.
$ docker attach CONTAINER_ID
Bu, isteminizde bir değişikliğe neden olacaktır. Ve artık Ubuntu Xenial tabanlı bir konteynerin içindesiniz. Bu konteynerin içinde yaptıklarınız onun içinde kalacaktır. cat /etc/issue komutunu çalıştırarak konteyneri doğrulayabilirsiniz.
5. Konteynerin Sonlandırılması
Docker stop komutunu kullanarak aktif bir konteyneri kolaylıkla sonlandırabilirsiniz. Çalışan bir konteynerden kolay çıkışa izin verdiği için yeni başlayanlar için en yararlı docker komutlarından biridir. Aşağıdaki komut size bunun nasıl çalıştığını gösterir.
$ docker stop CONTAINER_ID
Konteyneri çalıştıran önceki terminal olduğundan ve içinde docker bulunmadığından, bunu başka bir terminalden çalıştırmanız gerekecektir. Başka bir kolay çözüm, Ctrl + D tuşlarını kullanarak veya kenteynerde exit yazarak çıkmaktır.
6. Bir Konteynerin Silinmesi
Konteynerler sanal makinelerin küçük parçaları gibi olduğundan, bunları ana makinedeki sonuçlarla karşılaşmadan kolayca silebilirsiniz. Daha önce oluşturduğunuz kapsayıcıyı silmek için aşağıdaki komutu kullanın.
$ docker rm CONTAINER_ID
Konteyneri anında silecektir. Ancak bu konteynerdeki tüm dosyalarınız ve yapılandırmalarınız da silinecektir. Bu nedenle, yakın gelecekte ihtiyacınız olursa onları başka bir yere taşıdığınızdan emin olun.
7. Bir Konteyneri Öldürmek
Docker ayrıca kullanıcıların çalışan bir konteyneri öldürmesine de olanak tanır. Bir konteyneri durdurmak ile onu öldürmek arasındaki fark oldukça incedir, en azından Docker’da. Docker stop’u kullandığınızda önce konteyner içinde çalışan işlemleri sonlandırır, ardından konteyneri sonlandırır.
$ docker kill CONTAINER_ID
Ancak docker kill komutu, ana makinede çalışan konteyner işleminin tamamını sonlandırır. Bu, istenmeyen yanlış yapılandırmaya yol açabilir veya konteyner işlemlerinin bozulmasına neden olabilir. Bu nedenle Ubuntu için bu tür docker komutlarını kullanırken dikkatli olun.
8. Konteynerlerden Ayrılma
Diyelim ki başladınız ve kendinizi bir konteynere bağladınız. Şimdi bu konteyneri çalışır durumda bırakmak istiyorsunuz ancak terminal oturumunuzu kullanmak istiyorsunuz. Docker komutları stop ve kill konteyneri sonlandırdığı için bunları amacınız için kullanamazsınız.
Ctrl+P Ctrl+Q
Çalışan bir konteynerin içinde yukarıdaki tuş kombinasyonunu basılı tutmak sizi o konteynerden ayıracaktır. Örneğin, Ctrl tuşunu basılı tutup P ve Q tuşlarına arka arkaya basıyorum.
9. İçeriklerin Kapsayıcılar ve Dosya Sistemi Arasında Kopyalanması
Çoğu zaman mevcut ürününüzün yapılandırma dosyalarını konteynerden dosya sistemine ve hatta diğer bazı konteynerlere kopyalamak isteyebilirsiniz. Docker cp komutu bunu yapmanıza olanak sağlar. Unix cp -a komutu gibi davranır ve içeriği yinelemeli olarak kopyalar.
$ docker cp CONTAINER_ID:/test_file test_file
Bu komut, test_file dosyasını CONTAINER_ID içeren kaptan ana makineye kopyalayacaktır. Bir sonraki adım bize bir belgenin ana bilgisayardan konteynere nasıl kopyalanacağını gösteriyor.
$ docker cp test_file CONTAINER_ID:/test_file
10. Konteynerlerin İçinde Komutları Çalıştırmak
Komutları doğrudan çalışan bir konteynerden çalıştırabilseniz de, özellikle yüzlerce konteyneriniz varsa, her zaman kapsayıcılar eklemek istemeyebilirsiniz. Bu yaygın bir senaryo olduğundan docker çalışma zamanı, yöneticinin terminal örneğinden konteynere özgü komutları yürütmek için uygun bir komut sağlar.
$ docker exec CONTAINER_ID command
Bu, CONTAINER_ID konteyneri içinde komutu çalıştırmanıza olanak tanır.
11. Tüm Docker Görüntülerini Listeleyin
Docker görüntüleri konteynerlerin yapı taşlarıdır. Hatırlamanız gerektiği gibi kaplar, temel olarak bir görüntü kullanılarak oluşturulur. Geliştiricilerin sistemlerinde birden fazla docker görüntüsüne sahip olması normaldir. Bir sonraki komut bize makinenizdeki tüm görüntüleri nasıl listeleyeceğimizi gösterir.
$ docker images
Bu komutu çağırmanız, tüm üst düzey liman işçisi görüntülerini boyutları, etiketleri ve depolarıyla birlikte görüntüleyecektir. -q seçeneği yalnızca IMAGE_ID’yi almak için kullanılabilir.
12. Docker Görüntülerini Kaldırma
Bazen artık gerekli olmayan bir veya daha fazla docker görüntüsünü kaldırmak isteyebilirsiniz. Bir sonraki komut bunun nasıl yapılacağını gösterir.
$ docker rmi <IMAGE_ID>
Ancak görsel birden fazla depo tarafından etiketlendiyse aşağıdaki yöntemi kullanarak onu silmeniz gerekir.
$ docker rmi REPOSITORY:TAG
Docker Images komutunu çalıştırdığınızda bu bilgiyi bulabilirsiniz.
Orta Düzey Geliştiriciler için Üretken Docker Komutları
Docker ve konteyner kavramını zaten anladıysanız bazı gelişmiş özelliklere bakmak isteyebilirsiniz. Aşağıdaki bölümde geliştiricilerin üretkenliğini artırmayı amaçlayan çeşitli yararlı docker komutlarını tartışacağız.
13. Konteynerler için Kalıcı Birimler Ekleme
Yani bir konteyneri sildiğimizde onunla ilişkili tüm veriler kaybolur. Docker, geliştiricilerin bu veriler için kalıcı depolama sağlayan “birimler” oluşturmasına olanak tanır. Birimler, kapsayıcınızı dosya sisteminizdeki önceden tanımlanmış bir alana bağlayan bir mekanizmadır.
$ docker create -it -v $(pwd):/var/www ubuntu:xenial bash
Yukarıdaki komutu çalıştırmak mevcut çalışma dizininizi kapsayıcınızın /var/www konumuna bağlayacaktır. Artık mevcut dizininizdeki dosyaları değiştirebilirsiniz; değişiklikler liman işçisinin içine yansıtılacaktır.
14. Docker Run Kullanarak Container Oluşturma ve Çalıştırma
Şu ana kadar öncelikle docker konteynerlerimizi oluşturduk ve ardından başlattık. Ancak docker, her ikisini de tek bir komut kullanarak yapmamıza olanak tanır. Bunun nasıl çalıştığını görmek için aşağıdaki örneğe göz atın.
$ docker run -it -d ubuntu:xenial bash
Bu komutu çalıştırdığınızda Xenial imajını getirecek, konteyneri oluşturacak ve onu bash ile başlatacaktır. Ancak efekti doğrudan terminalinizde göremezsiniz.
Bunun nedeni docker’a bu konteyneri -d bayrağını kullanarak arka planda çalıştırması talimatını vermiş olmamızdır. Bunu ortadan kaldırmak sizi konteynere götürecektir.
15. Adlandırılmış Kapsayıcı Oluşturma
–name seçeneği, belirli adlar taşıyan konteynerler oluşturmak için kullanılabilir. Çoğu docker komutunun CONTAINER_ID yerine bunları kullanabilirsiniz. Bir sonraki komut bunu çalışırken gösterir.
$ docker create --name TEST nginx
Bu komut, Nginx imajını Docker Hub’dan çekecek ve bu durumda TEST adlı konteyneri oluşturacaktır. Artık başlatabilir ve kapsayıcıyı kullanmak için oturumunuzu ekleyebilirsiniz. Docker run komutuyla aynı şekilde çalışır.
16. Konteynerler için Bağlantı Noktalarının Açığa Çıkarılması
Docker çalışma zamanını hiç kullanmadan, konteynerlerinizle doğrudan ana bilgisayardan iletişim kurabilirsiniz. Bu, yönetici tarafından tanımlanan bir tür ağ şeması kullanılarak çalışır. Konteyner için bazı portları açığa çıkarmak çok geniş bir tekniktir.
$ docker run --name NEW nginx -p 8080:80
Yukarıdaki komut NEW adında bir kap oluşturur ve bunun 80 numaralı bağlantı noktasını ana sistemin 8080 numaralı bağlantı noktasına bağlar. Böylece artık bu bağlantı noktasını kullanarak konteynerinize istek/yanıt gönderebileceksiniz.
17. Konteynerdeki değişiliklerin takibi
Çoğunlukla en ufak bir yanlış yapılandırma, istenmeyen sorunlara yol açabilir ve hata ayıklamanın yapılması saatler alabilir. Docker diff komutu bu gibi birçok durumda kullanışlıdır. Konteynerinizin dosya sistemindeki herhangi bir değişikliği incelemek için kullanabilirsiniz.
$ docker diff CONTAINER_ID
Dolayısıyla, belirli bir konteynerin tamamen sağlıklı olduğundan eminseniz, bu konteynerin dosya sistemindeki değişiklikleri görüntülemek için arada bir bu komutu kullanabilirsiniz.
18. Değiştirilmiş Kaplardan Yeni Bir İmaj Oluşturma
Docker, geliştiricilerin mevcut bir kapsayıcıdaki değişikliklere dayalı olarak tamamen yeni bir görüntü oluşturmasına olanak tanır. Uygulamanızın farklı aşamaları için birden fazla kapsayıcı oluşturmak istediğinizde bu kullanışlı olacaktır.
$ docker commit CONTAINER_ID REPOSITORY:TAG
Yukarıdaki komut CONTAINER_ID kapsayıcısını kullanarak yeni bir görüntü oluşturacaktır.
19. Docker Konteynerleri için İzleme Sunucusu
Docker events komutu, geliştiricilerin kapsayıcılar, görüntüler, eklentiler vb. hakkında gerçek zamanlı bilgiler için sunucuları izlemesine olanak tanır. Bunu sisteminizde iki komut satırı kabuğu kullanarak deneyebilirsiniz.
$ docker events
Yukarıdaki komutu ilk kabuğa girin. Şimdi başka bir kabukta bir docker konteyneri oluşturun. Bu konteynerin içinde bazı docker komutlarını çalıştırın; ilk terminalde gerçek zamanlı bildirimler alırsınız.
20. Görüntü Geçmişlerini İnceleyin
Daha önce tartışıldığı gibi görüntüler docker konteynerlerinin yapı taşlarıdır. Böylece bir konteynerdeki ani sorunları tespit etmek için görüntü geçmişlerini kolayca görüntüleyebilirsiniz. Bu komutu kullanmak basittir.
$ docker history IMAGE_ID
Docker ps’yi kullanarak konteynerin görüntü kimliğini almanız ve yukarıda gösterildiği gibi kullanmanız yeterlidir. Geçerli görüntünün nasıl oluşturulduğunu gösterecektir.
21. Tars’tan Docker Görüntülerinin Yüklenmesi
Docker’ın bir diğer harika özelliği de tar’dan görüntü yükleme yeteneğidir. Ayrıca kullanıcıların standart girişten görüntü yüklemesine de olanak tanır. Load komutunun sözdizimi aşağıda gösterilmiştir.
$ docker load < IMAGE.tar.gz
Aşağıdaki komutu da kullanabilirsiniz.
$ docker load --input IMAGE.tar
Şimdi bu komutların etkilerini doğrulamak için docker görüntülerini listeleyin.
22. Docker Hakkında Sistem Genelindeki Bilgileri Görüntüleyin
Docker çalışma zamanı hakkında sistem genelindeki bilgilerin görüntülenmesi, konteynerlerinizi izlemenize yardımcı olacaktır. Ek olarak, açıklayıcı doğası nedeniyle hata ayıklayıcılara yardımcı olabilecek önemli bilgiler sağlar. Bunu ana sisteminizde görüntülemek için aşağıdaki komutu kullanın.
$ docker info
Görünüşte basit olmasına rağmen, bu komut hem ana makine hem de docker konteynerleri hakkında bol miktarda bilgi sağlayacaktır.
23. Docker Konteynerlerini Yeniden Adlandırma
Geliştiricilere başlamak için en kullanışlı docker komutlarından biri docker rename komutudur. Bu yalnızca konteyneri yeniden adlandıran basit bir komuttur ancak yeni başlayanlar için büyük öneme sahiptir.
$ docker rename CONTAINER NEW_NAME
Kapsayıcınızı temsil etmek için CONTAINER_ID veya Name parametresini kullanabilirsiniz. NEW_NAME alanı yeni konteyner adı içindir. Docker ps -a komutunu kullanarak bir konteynerin hem adını hem de kimliğini alabilirsiniz.
24. Docker Konteynerlerini Yeniden Başlatma
Çoğu zaman asılı duran veya yeni sorunları olan kaplarla uğraşmanız gerekecektir. Bunun birçok nedeninden biri ekstra kaynak tüketimi olabilir. Bu gibi durumlarda, bilgisayarlarda olduğu gibi, yapmanız gereken ilk şey konteynerleri yeniden başlatmak olmalıdır.
$ docker restart CONTAINER[S]
Varsayılan olarak yukarıdaki komut, konteynerinizi 10 saniye sonra yeniden başlatacaktır. Ancak bu değeri -t bayrağını kullanarak belirtebilirsiniz. Değerler tam sayı olmalıdır.
Ağ İletişimi için Docker Komutları
Konteynerleriniz arasında sorunsuz iletişimin olması önemlidir. Neyse ki Docker ağ komutları işinizi kolaylaştıracak. Aşağıdaki bölümde yalnızca temel ağ komutlarını tartıştık.
25. Tüm Ağları Listeleyin
Ağ yardımcı programı docker cli’nin en iyi araçlarından biridir. Bunu, docker arka plan programınızın kullanabileceği tüm ağları aşağıdaki şekilde listelemek için kullanabilirsiniz.
$ docker network ls
Konteynerlerin bağlanabileceği tüm ağları yazdıracaktır.
26. Ağlara Bağlanma
Bir veya daha fazla çalışan docker konteynerini çok ana bilgisayarlı bir ağa hızlı bir şekilde bağlayabilirsiniz. Bir sonraki komut bunu göstermektedir.
$ docker network connect NET CONTAINER_ID
NET bağlanmak istediğiniz ağı temsil eder ve CONTAINER_ID konteyneri temsil eder. Bunun yerine konteyner adını da kullanabilirsiniz.
27. Ağlardan Bağlantıyı Kesme
Ağlarınızın bir ağla olan bağlantısını kesmek de onları bağlamak kadar kolaydır. Bunun nasıl çalıştığını öğrenmek için aşağıdaki örneğe göz atın.
$ docker network disconnect NET CONTAINER_ID
Bu komut yürütüldüğünde konteynerin NET ağıyla olan bağlantısı kesilecektir. Bağlantıyı kesmeye zorlamak için -f bayrağını da ekleyebilirsiniz.
28. Ağlar Oluşturun
Konteynerleriniz arasında kişiselleştirilmiş ağlar oluşturmak için docker network komutundan da yararlanabilirsiniz. Bu, canlı ortamda düzenli olarak kullanılır. Sonraki komut konteyner ağlarının nasıl oluşturulacağını gösterir.
$ docker network create NET
Bu komut, ağ parametrelerini belirlemek gibi gelişmiş işlevler sağlamak için birkaç ek seçenek alabilir.
29. Ağlarla İlgili Ayrıntılı Bilgiyi Görüntüleyin
Docker network komutu, geliştiricilerin ağ bilgilerini çok detaylı bir şekilde izlemelerine olanak tanır. Hata ayıklamayı çok daha kolay hale getirir ve yapılandırmayı neredeyse zahmetsiz hale getirir. Bir sonraki komut bunun basit bir örneğini gösterir.
$ docker network inspect NET
Bu komut, ağ NET’i için mevcut olan her türlü bilgiyi sağlayacaktır. Çıktıyı insanlar tarafından daha okunabilir hale getirmek için -v bayrağını kullanabilirsiniz. Ayrıca çıktıyı bir şablona göre biçimlendirmek için -f komutunu kullanabilirsiniz.
30. Ağları Silme
Docker network rm komutu bir veya daha fazla konteyner ağını çok hızlı bir şekilde kaldırmak için kullanılabilir. Aşağıdaki komut bunu sizin için göstermektedir.
$ docker network rm NET
Takma ad oldukları için bu komut için rm yerine de kaldırabilirsiniz.
31. Kullanılmayan Tüm Ağları Silme
Docker, yöneticilerin kullanılmayan tüm ağları silmesine olanak tanır. Docker dilinde budama denir. Aşağıdaki komut bunun nasıl çalıştığını gösterecektir.
$ docker network prune
Bu etkileşimli bir komuttur ve her kaldırma işleminde onay isteyecektir. Bunu kapatmak için -f bayrağını ekleyebilirsiniz. Bu komut kullanıcıya bağlı olmadığından güvenlidir.
Çeşitli Docker Komutları
Docker arka plan programının kullanabileceği çok sayıda ek komut vardır. Ancak hepsini tek bir rehberde ele almamız mümkün değil. Bu nedenle listemizde bazı özel komutları bulamazsanız paniğe kapılmayın. İşte Ubuntu benzeri sistemler için bazı ek docker komutları.
32. Dockerfile’dan Görüntüler Oluşturun
Dockerfile, Docker konteynerleri için birincil derleme yapılandırma aracıdır. Bunları nasıl oluşturacağınızı burada öğrenebilirsiniz. Bu örnek, Dockerfile’dan nasıl konteyner görüntüsü oluşturabileceğinizi gösterir.
$ docker build . -t APP:v1
Bu komut, geçerli çalışma dizinindeki Dockerfile dosyasını kullanarak görüntüyü oluşturacaktır. APP’yi repo adı olarak ve v1’i etiket olarak ayarlayacaktır. Docker dosyası başka bir dizinde mevcutsa yolu belirtmeniz gerekir.
33. Kullanılmayan Tüm Kaynakların Kaldırılması
Ana bilgisayar sistemleri genellikle yüzlerce konteyneri barındırdığından, genellikle sarkan kaynaklar bulunur. Verimsiz olabilir ve sunucunun iş yükünü etkileyebilir. Bu tür kaynakların tamamını kaldırmak için aşağıdaki komutu kullanabilirsiniz.
$ docker system prune
Kullanılmayan tüm kapsayıcıları, birimleri ve ağları silecektir. Ek olarak, kullanılmayan tüm kapsayıcıları ve görüntüleri docker çalışma zamanından silmek için -a bayrağını ekleyebilirsiniz.
34. Belirli Birimlerin Kaldırılması
Kapsayıcılarınızın artık ihtiyaç duymadığı belirli birimleri kolayca silebilirsiniz. Canlı ortamda yaygın bir uygulamadır. Bir sonraki örnek, docker volüm komutunun bu amaçla kullanılabileceğini göstermektedir.
$ docker volume rm VOLUME_NAME
Belirtilen birimin silinmesine yol açacaktır. Onayları atlamak için -f seçeneğini iletebilirsiniz.
35. Docker Hub’da Görüntü Arama
Docker cli ayrıca geliştiricilerin Docker hub’ında belirtilen görüntüleri doğrudan terminalden aramasına da olanak tanır. Bu amaçla docker search komutunu kullanabilirsiniz.
$ docker search nginx
Yürütüldüğünde, resmi depodaki resmi Nginx görüntüsünü arayacaktır. Aramanızı daraltmak veya belirtmek için birkaç filtre ekleyebilirsiniz.
36. Çıkışta Konteynerleri Silme
İşiniz bittiğinde ve siz işten çıktığınızda silinecek konteynerler oluşturabilirsiniz. Sorun giderme gibi çeşitli durumlarda yararlı olabilir. Bir sonraki komut bunu çalışırken gösterir.
$ docker run --rm --it xenial /bin/bash
Bu komut, içinde bash’ın çalıştığı Xenial tabanlı bir konteyner oluşturur ve başlatır. İşlerinizi burada yapabilirsiniz ve konteyneri sonlandırdığınız anda docker motoru bu konteyneri otomatik olarak silecektir.
37. Ana Bilgisayardan Ağ Günlüklerini Alın
Konteyner ağlarınızın günlüklerinin elinizin altında olması son derece faydalıdır. Ana makinedeki konteyner günlüklerini almak için aşağıdaki komutu kullanabilirsiniz.
$ journalctl -u docker.service
Bu komutun çıktısını inceleyerek sorun giderme çözümlerinizin çoğunu bulabilirsiniz.
38. Konteyner Dosya Sistemlerini Tar Olarak Dışa Aktarın
Docker cli, bir konteynerin dosya sistemini tar arşivi olarak dışarı aktarmak için kullanılabilecek dışarı aktarma komutunu sağlar. Bunun nasıl çalıştığını anlamak için aşağıdaki komuta göz atın.
$ docker export giant_panda > new.tar
Bu komut bir sonraki komuta eşdeğerdir.
$ docker export --output="new.tar" giant_panda
39. Sürüm Bilgilerini Görüntüleme
Docker client ve sunucu muadillerinizin versiyon bilgilerini aşağıdaki komutlardan kolaylıkla görüntüleyebilirsiniz.
$ docker version
Bir sonrakini kullanarak, yapı bilgilerinin yanı sıra docker arka plan programı sürümünü de alabilirsiniz.
$ docker -v
40. Yardım Bilgilerini Görüntüleyin
Docker belgeleri tek kelimeyle ilham verici. Docker komutunu kullanarak genel arka plan programı hakkında yardım alabilirsiniz.
$ docker
Alt komutlara ilişkin ek veri almak için aşağıdaki sözdizimini kullanın.
$ docker command[S] --help $ docker network --help
Böylece cli belgelerinin derinliğini kolayca genişletebilirsiniz.
Yazının orijinaline buradan ulaşabilirsiniz.

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.