Skip to main content

Powershell tab completion for Docker CLI

· 2 min read
Hasan Gural

Bir süredir zamanımın büyük bir bölümünü docker ile container yönetimine harcamaktayım. Gün içerisinde zamanımın çoğunu docker-compose, docker image yazarak ve bunları VSTS ile buluşturmama rağmen yine bir şekilde "Docker command line" ihtiyaç duymaktan alı koyamıyorsunuz. Tüm süreçlerin sonunda kendinizde test edip görmek istiyorsunuz. Fakat bu Docker command line benim gibi Powershell üzerinden erişip ve tab completion yapmak isterseniz, yardımımıza tam bu noktada GitHub üzerinden keşfettiğim güzel bir Powershell Module koşmaktadır. Eğer sizde çok fazla DockerCLI üzerinden, Network, Container, Image yönetimi yapıyorsanız ve bunların tab completion özelliğini kullanmak isterseniz, bu module tam size göre.

Posh-Docker Module GitHub üzerinde kullanıma açılmış yaklaşık en son iki yıl önce güncelleme yapılmış, fakat gayet yeterli bir şekilde işinizi göreceğine eminim. Client tarafında ön gereksinimleri aşağıda gibidir.

  1. Docker CLI 1.3 veya daha üst versiyonu
  2. Powershell 5.0 veya daha üst versiyonu

Bildiğiniz gibi Powershell ile Powershell Modüllerini PS Gallery sayesinde daha doğrusu Powershell One Get aracılığı ile repository üzerinden indirebiliyoruz, Posh-Docker bu şekilde sahip olma şansınız var. Bunların en basit yöntemi Install-Module komutuna kurmak istediğiniz Powershell Module adını göndermeniz yeterli olacak. Posh-Docker isimli Powershell Module kurmak istediğimiz için çalıştırmamız gereken komut sadece "Install-Module -Name Posh-Docker"

Posh-Docker isimli Powershell Modulunu kurduktan sonra, hemen bir kontrol gerçekleştirelim. Hızlı bir şekilde yeni bir powershell session açtım ve Get-Module yazarak Posh-Docker modülünü kontrol ediyorum. Yukarıda çalıştırdığımız komut çalıştırılan client üzerindeki tüm kullanıcılara gidecektir. İsterseniz "Install-Module -Name Posh-Docker -Scope CurrentUser" eklediğimiz Scope parametresi ile sadece Cmdlet'i çalıştırdığınız kullanıcının kendi profilin de saklayabilirsiniz. Get-Module cmdlet kullanarka Posh-Docker modulunun yüklenip yüklenmediğini kontrol edebilirsiniz.

Posh-Docker başarıyla yükledikten sonra artık Docker Command Line ( CLI ) içerisindeki tüm komutlara ve parametrelere tab-completion tadını çıkartarak tabiki Powershell üzerinden kolaylıkla erişebilirsiniz. Şunuda unutmayalım ben günlük işlerimde VSCode veya bir console emulator olan CMDER üzeinden Powershell'i kullanmaktayım. Powershell kullandığım sürece, posh-docker benim için tab-completion yapmaya devam edecek, kullanım şekli nasıl eriştiğiniz tamamen size ait.

Hemen bir örnek ile aşağıdaki görelim.

Yukarıdaki kısa bir yapılan örnekte görüldüğü gibi tab-completion kullanımı Docker Command Line kullanımında bize hız ve bazı komutları hatırlamamızda yardımcı olmaktadır. Posh-Docker, Powershell modülüne GitHub sayfasından erişebilirsiniz.