နားလည်ထားရမယ့် အချက်
Docker က learner တိုင်း environment တူညီစေပါတယ်။ Port ကို `127.0.0.1` သာ bind လုပ်၊ named volume သုံးပြီး AOF persistence ဖွင့်မယ်။ Password တစ်ခုတည်းက production security မဟုတ်ပေမယ့် unauthenticated local service ထက်ကောင်းပြီး နောက်ပိုင်း ACL/TLS lesson အတွက်အခြေခံဖြစ်ပါတယ်။
လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်
`redis:8.10-alpine` container ကို AOF နှင့် password ဖြင့် run ပါ။ `REDISCLI_AUTH` ကို command environment အဖြစ်ပေးပြီး `PING`၊ `INFO server` နဲ့ version/readiness စစ်မယ်။ Password ကို repository သို့ shell history ထဲမသိမ်းရန် production secret manager သုံးရပါတယ်။
အတူတူ စမ်းရေးကြည့်မယ်
docker volume create redis-data
docker run --name redis-tutorial \
-p 127.0.0.1:6379:6379 \
-v redis-data:/data \
-d redis:8.10-alpine \
redis-server --appendonly yes --requirepass learnredis
docker exec -e REDISCLI_AUTH=learnredis redis-tutorial redis-cli PING
docker exec -e REDISCLI_AUTH=learnredis redis-tutorial redis-cli INFO server`PONG` နှင့် Redis 8.10.x server information ကိုမြင်ရမည်။၅ မိနစ် စမ်းကြည့်
Container stop/start ပြန်လုပ်ပြီး `SET setup:test ok` value က volume/AOF ကြောင့်ဆက်ရှိနေကြောင်းစစ်ပါ။
သတိလေးတစ်ချက်
Redis port 6379 ကို public internet သို့မဖွင့်ပါနှင့်။ Password ပါလည်း network restriction၊ ACL နဲ့ TLS မပါရင်မလုံလောက်ပါ။
Redis CLI — Redis