docker

Yazılım Geliştiricileri için 40 Önemli Docker Komutu

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.

container concepts

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.

dockerfile image

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.

list containers

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.

docker commands for creating containers

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.

image histories

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.

docker commands for networking

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.

useful docker commands for logging

$ 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.