Şu anda Full-Stack proje kapsamında API iskeletini oluşturuyorum. Çeşitli servisler için sağlayıcılar yazdıktan sonra (bu konuya ayrıca değineceğim) sıra REDIS sağlayıcısını yazmaya geldi.

Web sunucusu ve PHP kurulumu yaparken PHP Redis eklentisini kurmuştum. PHP Redis eklentisi PHP’nin Redis’e bağlanabilesini sağlayan istemci. Fakat sorun şu ki mevcut sunucumda bir Redis yok. Bu nedenle önce Redis kurmalıyız.

Redis veya Redis Sentinel

Ben Redis için bitnami kalıbını kullanacağım. Bitnami’nin Redis kalıbı olduğu gibi Redis’e yüksek erişilebilirlik (High Availability) sağlayan Redis Sentinel Kalıbı ‘da mevcut. Ben abartmadan Redis’le başlayacağım. İsterseniz siz Redis Sentinel üzerinden devam edip, sağlayıcınızı (provider) şimdiden ona uygun yazabilirsiniz.

docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/redis:latest

Yukarıdaki komutla Redis’i varsayılan ayarlarda çalıştırmanız mümkün. Dilerseniz aşağıdaki komutla docker-compose.yaml dosyasını indirip isteğinize göre düzenleyebilir ve Redis’i bu dosyayı baz alarak ayağa kaldırabilirsiniz.

curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-redis/master/docker-compose.yml > docker-compose.yml
docker-compose up -d

Redis Docker Konteynerinin kullanıcısını değiştirmek

Bitnami’nin konteyneri varsayılan olarak 1001 id’li kullanıcı ile çalışıyor. Ben diğer konteynerlerimde 1000 kullanıcısını kullandığım için bu kalıbıda ona göre uyarladım.

Öncellikle aşağıdaki içeriğe sahip dockerfile dosyasını oluşturun

FROM bitnami/redis:latest
LABEL maintainer "Bitnami containers@bitnami.com"
Modify the default container user
USER 1000

Akabinde aşağıdakine benzer bir docker-compose.yaml dosyası oluşturun

version: '2'
 services:
   redis:
     build: .
     environment:
       - ALLOW_EMPTY_PASSWORD=no
       - REDIS_PASSWORD=<kullanmakistediginizsifre>
       - REDIS_DISABLE_COMMANDS=FLUSHDB,FLUSHALL
     ports:
       - 6379:6379
     volumes:
       #sunucumda redis verisinin tutulacağı yer
       - /soruman/data/redis:/bitnami/redis/data

ve son olarak docker-compose up -d komuyu ile redis’imizi ayağa kaldıralım.

Ve bitti! Bu kadar basit! Docker’ın en sevdiğim tarafı da işleri bu kadar kolay hale getiriyor olması.

Sorularınız varsa veya fikir alışverişi yapmak isterseniz yorumlardan, Twitter , LinkedIn veya Instagram üzerinden ulaşabilirsiniz. Sevgiler…

Bu Yazıda Yapılan Değişiklikler
  • 11.05.2022: Yazı özeti düzenlendi.