Cum și de ce să rulați Redis în Docker

Publicat: 2023-05-02

Redis este o bază de date în memorie foarte disponibilă. Magazinul său de date cheie-valoare persistent pe disc este ideal pentru mai multe utilizări cu disponibilitate ridicată.

Pe de altă parte, Docker este un instrument pentru containerizarea aplicațiilor și serviciilor, izolându-le mediile și permițându-le să ruleze separat. Puteți utiliza Docker ca manager de pachete pentru aplicații și servicii cu toate dependențele, configurațiile, scripturile necesare etc. Un script numit Dockerfile este plasat în containerul Docker și vă permite să implementați containerul ca o singură entitate.

Acest articol vă învață cum să utilizați eficient aceste două tehnologii open-source. De asemenea, abordează de ce este vitală rularea clusterelor Redis în containerele Docker și avantajele și beneficiile de a face acest lucru în comparație cu rularea clusterelor Redis pe mașini virtuale sau servere bare metal.

Diversele utilizări ale Redis

Redis are mai multe avantaje. Cele mai populare utilizări ale sale includ:

  • Cache-ul bazei de date cheie-valoare distribuită
  • Broker de mesaje
  • Server de stocare în cache a obiectelor persistente

În plus, Redis poate suporta mai multe tipuri și structuri de date, făcându-l potrivit pentru utilizare atât ca strat de bază de date primar, cât și secundar pentru aplicații. De asemenea, acceptă liste, fluxuri, hashuri, seturi etc.

Cu toate acestea, puteți împinge beneficiile Redis și mai mult prin containerizarea acestuia.

Redis este cel mai bine în interiorul unui container! Aflați cum să utilizați eficient Redis & Docker și deblocați avantajele containerizării aplicațiilor dvs. Redis - totul în această postare ️ Faceți clic pentru a Tweet

Redis este cel mai bun în interiorul unui container

Redis este una dintre cele mai populare imagini Docker din registrul Docker, cu peste un miliard de descărcări. Motivul pentru containerizarea aplicațiilor Redis este de a obține beneficiile Docker și suportul comunității pentru cele mai comune cazuri de utilizare Redis.

Imaginea Redis Docker are o comunitate open-source care creează și menține o documentație clară. Și, în plus, Docker este foarte fiabil și permite o utilizare ușoară și flexibilitate.

Ușurință în utilizare

Docker izolează mediile atât pentru aplicații, cât și pentru serviciile care rulează în interiorul containerelor. Izolarea înseamnă că puteți împacheta, construi și livra imagini Redis care funcționează indiferent de sistemul de operare gazdă, ceea ce facilitează dezvoltarea și rularea aplicațiilor Redis în Docker. În plus, Docker Desktop simplifică configurarea unui mediu de dezvoltare local consistent, care este util în special pentru echipele mari.

Securitate:

Puteți scana pentru vulnerabilități de securitate cu Redis în interiorul unui container. Docker folosește Snyk, un instrument care oferă vizibilitate asupra siguranței imaginilor Docker. Scanează containerele Docker și oferă detalii și remedieri în cazul imaginilor corupte. Docker poate genera, de asemenea, o listă de materiale software (SBOM) pentru scanarea tuturor dependențelor utilizate în construirea imaginilor containerului, deși este încă experimental.

Flexibilitate

Docker este disponibil pentru majoritatea sistemelor de operare și aplicațiilor bazate pe Unix și Windows. Deoarece utilizați containere pentru a izola software-ul de mediul său pentru a vă asigura că funcționează cu toate sistemele, aplicațiile și serviciile Redis rulează întotdeauna în ciuda infrastructurii.

Fiabilitate

Docker vă permite să rulați orice sarcină de lucru containerizată în orice mediu în mod fiabil. Redis este de încredere în Docker, deoarece containerele Docker fac periodic instantanee ale imaginii containerului, permițându-vă să reveniți la aceste instantanee în cazul unei baze de date proaste sau corupte. De asemenea, puteți crea un volum Docker prin montarea unui director care conține fișierul bazei de date Redis în interiorul containerului.

Un volum Docker ajută la protejarea containerului de orice formă de pierdere accidentală de date. Cu toate acestea, o avertizare este că volumele Docker nu includ instantanee de imagine. Trebuie să salvați manual sau să faceți o copie de rezervă a datelor din fișierul bazei de date Redis periodic.

Cum să utilizați Redis cu Docker

Pentru a vă pune magazinul Redis într-un container Docker, trebuie să aveți Docker în mediul țintă. Următoarele instrucțiuni vă arată cum să instalați Docker pe Windows.

Puteți urma un ghid de pe site-ul web Docker pentru un sistem de operare Unix sau Unix. După instalare și configurare, puteți crea o rețea în interiorul containerului Docker. Apoi puteți instala Redis și puteți crea o bază de date. În cele din urmă, puteți efectua operațiuni pe baza de date Redis.

Mai întâi, instalați Docker pe sistemul dvs. de operare. Opțional, navigați la Docker Hub și creați un cont. Aveți nevoie de un cont pentru a vă crea și publica imaginile.

Formular de înscriere la hub Docker
Docker Hub

După ce creați un cont, conectați-vă la Docker Hub și descărcați cea mai recentă versiune a sistemului de operare de Docker Desktop.

Pagina de descărcare pentru Docker Desktop cu opțiuni pentru sistemele de operare.
Pagina de descărcare Docker

După procedura de instalare, accesați fereastra terminalului pentru a vedea dacă Docker Engine este gata să ruleze și introduceți următoarea comandă:

 docker --version
Verificați versiunea Docker instalată
Versiunea Docker instalată

Apoi tastați: docker-compose --version .

Verificați versiunea Compose instalată cu Docker
Compose instalat cu Docker

Compose este un instrument pentru definirea și rularea aplicațiilor Docker cu mai multe containere folosind fișiere YAML, pe care le utilizați pentru a configura serviciile de aplicații.

Puteți rula un Dockerized Redis pentru a valida dacă Motorul Docker este pornit și rulează folosind codul de mai jos. Acest exemplu rulează imaginea Redis din Docker Hub și o numește my-redis-container .

 docker run --name my-redis-container -d redis
Rulați imaginea Redis din Docker Hub numit my-redis-container
Imaginea Redis de la Docker Hub numită my-redis-container

Deoarece nu aveți imaginea la nivel local, Docker extrage imaginea Redis din Docker Hub.

Acum, puteți deschide Docker Desktop pentru a confirma că a extras imaginea Redis. În tabloul de bord, faceți clic pe Imagini în panoul din stânga.

Verificați dacă imaginea dvs. Redis este activă și rulează din Docker Desktop
Docker Desktop

Acum, puteți crea o rețea. Rețineți că driverul Docker utilizează bridge-ul sau driverele de rețea încorporate de suprapunere pentru a crea o rețea Docker. De asemenea, puteți instala și utiliza un driver de rețea terță parte.

Diferența este că rețelele bridge sunt izolate într-o singură instalare Docker Engine, în timp ce rețelele suprapuse se întind pe mai multe gazde Docker, fiecare rulând un motor.

Tip:

 docker network create -d bridge kinsta-demo-network
Creați o nouă rețea Docker cu driverul bridge
Rețea Docker cu driverul de punte

Dacă nu specificați niciun driver în mod implicit, Docker folosește driverul bridge pentru a crea o nouă rețea, deoarece creează automat driverul bridge atunci când instalați Motorul Docker. Cu toate acestea, dacă rulați un container Docker cu comanda Docker run, acesta nu va folosi această rețea.

Acum că aveți o rețea, instalarea Redis în interiorul containerului Docker este următoarea. Pentru a face acest lucru, tastați: docker pull redis .

Trageți imaginea Redis din Docker Hub
Trageți imaginea Redis din Docker Hub

Pentru a verifica că imaginea Redis este instalată corect, rulați una dintre următoarele comenzi:

 docker images
 docker image ls
Listați imaginile Docker disponibile în terminalul utilizatorului
Imagini Docker disponibile în terminalul utilizatorului


Apoi, creați și porniți containerul Redis. Pentru a face acest lucru, rulați următoarea comandă:
 docker run -it –name dev_kinsta_redis_container -d redis
Creați și rulați containerul Docker
Container Docker

Acum verificați dacă Redis rulează în container. Pentru a face acest lucru, tastați: docker ps .

Verificați dacă Redis funcționează într-un container
Verificați dacă Redis funcționează într-un container

Acum că ați confirmat că containerul dvs. Docker este în funcțiune, puteți adăuga containerul în rețea. Tip: docker network connect .

Adăugați un container Docker la rețeaua Docker creată
Adăugați un container Docker la rețeaua Docker creată

Cu totul funcționând conform așteptărilor, următorul pas este să verificați că serverul dvs. Redis care rulează în Docker este gata să accepte conexiuni. Pentru a face acest lucru, utilizați docker logs .

Verificați că imaginea Redis rulează în containerul Docker
Verificați că imaginea Redis rulează în containerul Docker

Apoi, trebuie să creați o bază de date, deoarece aveți nevoie de o modalitate de a vă conecta la containerul Redis pentru a rula comenzi pe server. Pentru a face acest lucru, tastați: docker exec -it bash . Puteți utiliza numele containerului și ID-ul containerului în mod interschimbabil.

Conectați-vă la instanța containerului Redis
Conectați-vă la instanța containerului Redis.

În container, utilizați CLI pentru a rula comenzi. Rețineți că Redis a instalat automat gazdele Docker. Pentru a utiliza Redis-CLI, tastați: redis-cli .

Utilizați CLI Redis pentru a rula comenzi Redis
Utilizați CLI Redis pentru a rula comenzi Redis

Aceasta vă conectează la portul implicit pentru Redis pe gazda locală. Tastați: ping și răspunsul ar trebui să fie pong .

Testați pentru a vedea dacă conexiunea Redis este în funcțiune
Testați pentru a vedea dacă conexiunea Redis este în funcțiune

Apoi, selectați o bază de date în interiorul serverului dvs. Redis tastând select . Deși baza de date implicită este 0 , selectați db 1 .

Selectați o anumită bază de date Redis
Selectați o anumită bază de date Redis

Apoi, introduceți datele în baza de date. Utilizați comanda Redis SET . Pentru a face acest lucru, tastați SET <key> <value> .

De exemplu:

 SET mykey "Hello"

Pentru a obține aceeași cheie, tastați:

 get myKey
Inserați și preluați date din Redis
Inserați și preluați date din Redis

Pentru a obține valoarea cheii, rulați get . Aceasta returnează valoarea. Apoi, monitorizați baza de date Redis tastând MONITOR .

Monitorizați baza de date Redis
Monitorizați baza de date Redis

În cele din urmă, opriți serverul Redis ieșind din CLI. Tastați exit de două ori pentru a ieși din CLI și Redis.

Ieșiți din CLI Redis
Ieșiți din CLI Redis

În cele din urmă, opriți rularea containerului Redis tastând docker stop .

Executați comanda pentru a opri rularea containerului Docker
Executați comanda pentru a opri rularea containerului Docker

Redis cu DevKinsta

DevKinsta vă permite să conectați un site WordPress la o bază de date Redis. Cu DevKinsta, suplimentul Redis funcționează perfect ca cache de obiecte pentru a persista datele pe mai multe încărcări de pagini. Aceasta înseamnă că, utilizând suplimentul Redis, puteți folosi memoria cache pentru a reutiliza obiecte în loc să interogați în mod constant baza de date MySQL.

După descărcarea și configurarea DevKinsta, instalați Docker Desktop ca o dependență, pe care o folosește pentru a crea fișiere de mediu local în interiorul unui container. Cu această configurare, puteți configura suplimentul Redis în Devkinsta.

Prin urmare, suplimentul Redis pentru DevKinsta poate fi folosit ca sursă secundară, reducând încărcarea bazei de date primare, mărind timpul de răspuns și făcând aplicația să funcționeze mai rapid.

Acest lucru se traduce prin faptul că aplicația gestionează mai multă încărcare și scalează eficient. Consultați această postare pentru a utiliza pluginul Redis cu site-ul dvs. web.

Redis + Docker = un meci făcut în rai! Iată de ce containerizarea aplicației Redis este calea de urmat și cum să profitați la maximum de ea. Faceți clic pentru a trimite pe Tweet

rezumat

Există multe avantaje în a rula Redis într-un container Docker. Oferă un mediu sandbox pentru aplicațiile dvs., astfel încât să nu vă mai pese de platforma în care implementați aplicațiile. În plus, Docker oferă ușurință în utilizare, flexibilitate și fiabilitate ridicată.

În ceea ce privește securitatea, puteți verifica și scana vulnerabilitățile de securitate din cutie cu Synk, un instrument care oferă vizibilitate asupra siguranței imaginilor Docker. Și în ceea ce privește flexibilitatea, Docker funcționează pentru majoritatea sistemelor și aplicațiilor de operare bazate pe Unix și Windows. Această flexibilitate înseamnă că aplicațiile sau serviciile dockerizate sau containerizate rulează întotdeauna, indiferent de sistemul de operare.

Este ușor să utilizați Docker și suplimentul Redis cu DevKinsta, care creează un site WordPress dockerizat la nivel local când îl porniți. Consultați DevKinsta și suplimentul Redis pentru a obține puterea Redis în Docker astăzi.