Chocolatey (Windows) ve Docker Container ile Redis Kurulumu

Chocolatey (windows) ve Docker Container…

İbrahim Demirli
Kodcular
5 min readJun 19, 2021

--

Herkese merhabalar ,

Önceki yazımda Redis’ten bahsetmiştim. Bu yazımda Redis kurulumunu 2 farklı yöntemle yapmaya çalışacağız.

  1. Chocolatey (windows)
  2. Docker Container

1. Chocolatey (windows) ile Redis Kurulumu

Redis’in Windows işletim sistemi için resmi bir sürümü bulunmuyor. Server tarafında resmi bir sürümü Linux için mevcut . Windows tarafında ise Redis’i ,Open Source olarak bağımsız geliştiriciler tarafından geliştirilmiş versiyonlarını kullanabiliyoruz , tek fark Redis’in güncel versiyonlarıyla paralel ilerlemiyor. Mesela şuanda Redis’in güncel versiyonu 6.2.4 ama biz Windows’ta 3.0 sürümünü kullanacağız.

Windows tarafında nasıl kullanabiliriz ?

Biz Chocolatey paket yöneticisini kullanacağız. Bu paket yöneticisini windows ortamına kurduktan sonra Chocolatey üzerinden Redis’in kurulumunu gerçekleştireceğiz.

Chocolatey’in kendi internet adresi üzerindeki link’ten adımları takip edeceğiz.

Not : Kurulum yaparken PowerShell kullandım.

Kurulum

  1. İlk olarak link üzerinden de gördüğünüz gibi “Get-ExecutionPolicy” komutunu çalıştırıyoruz.

2. “Restricted” döndürürse Set-ExecutionPolicy AllSigned veya Set-ExecutionPolicy Bypass -Scope Process komutlarını çalıştırıyoruz.

Politikaları kabul etmek için “yes” diyip devam ediyoruz.

3. Daha sonra gerekli komut satırını kopyalayıp çalıştırıyoruz

4. Chocolatey’in paket yöneticisi linkinden “Deprecated” olanı seçiyoruz. Benim yüklediğim version : choco install redis-64 — version 3.0.503 olacak.

Daha öncede belirttiğimiz gibi version, standart Redis sürümleriyle paralellik göstermiyor.

Bundan sonra Redis’i ayağa kaldırabilirim. Redis’in bir server tarafı var , birde server tarafını kullanabileceğimiz client tarafı var. Client tarafı dediğimiz server’la haberleşen taraf. Ben -cli üzerinden redis server’la haberleşebilmek istediğimde bir Redis client’ı ayağa kaldırmam gerekiyor.

1. Redis Server Ayağa Kaldırma

İlk olarak Redis server’ı ayağa kaldırıyorum.

Redis Server’ı ayağa kaldırmak için redis-server komutunu kullanıyorum.

Gördüğünüz gibi Redis Server 3.0 versiyonu 6379 portuyla ayağa kalktı. Şimdi Redis -cli üzerinden Redis Server ile haberleşebilirim.

2. Redis-cli üzerinden Haberleşme

Yeni bir PowerShell açıktan sonra redis-cli komutu kullanarak redis-server ile haberleşebilirim.

Default olarak 6379 portuyla ayağa kalkan Redis server’ıma bağlandı.

Başarılı şekilde haberleştiğimizi nasıl anlayabiliriz ?

“Ping” yazdığımızda “PONG” cevabı alıyorsak redis-cli üzerinden redis-server’ıyla başarılı şekilde haberleşmiş oluyoruz.

Chocolatey ile Redis kurulumunu tamamladık.

2. Docker Container ile Redis Kurulumu

Herhangi bir paket yöneticisi kurmakla uğraşmadan bir container olarak ayağa kaldırmak en temiz yöntemdir. Çünkü container içinde en güncel versiyonu kullanabiliyoruz.

Windows veya herhangi bir işletim sisteminde çalışmak isterseniz bu en uygun çözüm olacaktır.

Kurulum

Öncelikle bilgisayarınızda docker kurulu değilse bunu kurmanız gerekiyor. Bu link üzerinden docker kurulumunuzu yapabilirsiniz. Daha önce üye olmadıysanız bu link üzerinden üye olmalısınız , çünkü dockerHub’dan bir image çekebilmeniz için üyeliğinizin olması gerekiyor.

Docker kurulum aşamasında şöyle bir hata alabilirsiniz :

Bu hatayı düzeltmek için bu link üzerinden Linux kernel update yapmamız gerekiyor.

Bu işlemleri tamamladıktan ve dockerHub’a giriş yaptıktan sonra kurulum adımlarına geçebiliriz.

1. Öncelikle dockerHub adresinden arama çubuğuna redis yazıyoruz.

2. Daha sonra Redis image’ının run komutunu çalıştırıyoruz.

Run komutu ne yapar ?

Öncelikle bilgisayarda redis image’ı var mı ona bakar , eğer yoksa redis image’ını çeker ve some-redis isminde bir container ile beraber ayağa kaldırır.

3. Daha sonra redis’in container üzerinde ayağa kalkıp kalkmadığını kontrol ediyoruz.

Bunun için docker ps komutunu kullanacağız.

Redis’in 6 saniyedir default olarak 6379 portuyla ayakta olduğunu görebiliriz.

4.Container’a localhost üzerinden istediğim Port ile erişebilmek için mapping işlemi yapıyorum.

İlk önce ayağa kaldırdığımız redis’i silip tekrar portunu da verip yüklüyoruz.

Silmek için ilk önce “Stop” edip daha sonra silme işlemini gerçekleştirmemiz gerekiyor. ContainerId’nin ilk 3 harfini kullanıyoruz. Bunun için docker stop 6f9 komutunu çalıştırıyoruz.

Daha sonra docker rm 6f9 komutunu çalıştırıp siliyoruz.

docker ps komutuyla silinip silinmediğini kontrol edebilirsiniz.

Redis image’ını ilk yüklediğimiz komut satırından farklı olarak port’u map’leyerek yükleyeceğiz.

Bu neden gerekli ?

Localhost üzerinden gittiğim zaman (dışardan) container üzerindeki redis server’a erişebilmem gerekiyor. Bu yüzden mapping işlemi yapıyorum.

Ben 6380 portunu verdim , istediğiniz portu verebilirsiniz.

Komut satırı : docker run -p 6380:6379 — name some-redis -d redis

5. Container’a bağlanıyoruz.

Bunun için PowerShell’de docker exec -it c51 sh komutunu çalıştırıyoruz. Burdaki c51 : containerId nin ilk 3 harfine karşılık geliyor.

Bu komutu çalıştırdıktan sonra artık redis-cli üzerinden bağlanabilirim.

Not : Docker’a ilerleyen yazılarımızda daha ayrıntılı olarak değineceğiz.

Bitirirken

Bu yazımda Redis’i iki farklı şekilde ayağa kaldırıp redis-cli üzerinden nasıl haberleştiğini anlatmaya çalıştım.

Diğer yazımda ASP.NET Core üstünde nasıl kullanıldığını anlatmaya çalışacağım.

Umarım faydalı olmuştur.

Başka bir konuda görüşmek üzere…

Yararlandığım Kaynaklar

--

--

İbrahim Demirli
Kodcular

software || reader || thinker || writer || always a student