PRISIJUNGTI
    opened image

    Šiame straipsnyje aptarsime, kaip paleisti Redis naudojant Docker ir Docker Compose.

    Redis yra aukšto našumo duomenų bazių valdymo sistema, naudojama duomenims saugoti ir apdoroti atmintyje. Redis leidžia efektyviai apdoroti didelius duomenų kiekius ir užtikrina didelį prieinamumą ir atsparumą gedimams.
     

    Docker ir Docker Compose įdiegimas

    Prieš pradedant, turite įdiegti Docker ir Docker Compose. Docker įdiegimo instrukcijas savo operacinės sistemos atveju galite rasti mūsų tinklaraštyje Centos 7 arba Ubuntu 20.04.
     


    Įdiekime Docker-Compose

     

    curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose


    Suteikime vykdymo teises. 

     

     

     

    chmod +x /usr/local/bin/docker-compose

     


    Patikrinkime, kaip įdiegtas Docker-Compose:

     

     

    docker-compose --version

     

     

    Docker Compose failo sukūrimas

    Norėdami paleisti Redis naudojant Docker Compose, turime sukurti docker-compose.yaml failą mūsų projekto pagrindiniame kataloge. Jame bus nurodytos Redis konteinerio konfigūracijos.

    Norint ateityje lengvai rasti, kas yra įdiegta, sukurkime atskirą aplanką šiam projektui /home kataloge ir pereikime į jį.

     

     

     

    mkdir /home/redis && cd /home/redis

     



    Taip pat galite naudoti kitą aplanką  šiam ir kitiems projektams talpinti. 

    Naudodamiesi saugykla, sukurkime *.yaml failą Docker-Compose.

     

     

     

     

    version: '3.3'
    
    services:
      redis:
        image: redis:latest
        restart: always
        ports:
          - "6379:6379"
        volumes:
          - /path/to/local/dаta:/root/redis
          - /path/to/local/redis.conf:/usr/local/etc/redis/redis.conf
        environment:
          - REDIS_PASSWORD=my-password
          - REDIS_PORT=6379
          - REDIS_DATABASES=16
    

     




    Pereikime per kiekvieną parametrą:

    version - tai Docker Compose failo formato versija. Naudojame versiją 3.3.
    services - tai skyrius, kuriame nurodome konteinerių sąrašą ir jų konfigūracijas. Mūsų atveju nurodome vieną paslaugą - Redis.
    redis - tai mūsų paslaugos pavadinimas.
    image - tai Redis atvaizdo pavadinimas, kurį naudosime sukurti savo konteinerį.
    restart - tai konfigūracija, kuri nurodo Docker'į paleisti Redis konteinerį iš naujo, jei jis sustoja arba patiria gedimą.
    ports - tai konfigūracija, kuri nurodo, kokie konteinerio prievadai turi būti pasiekiami iš pagrindinės sistemos. Šiuo atveju perkeliamas Redis konteinerio prievadas 6379 į pagrindinės sistemos prievadą 6379.
    volumes - tai konfigūracija, kuri nurodo, kurios katalogai pagrindinėje sistemoje turi būti pasiekiami viduje konteinerio. Šiuo atveju prijungiame duomenų ir konfigūracijos failų Redis katalogus.
    environment - tai konfigūracija, kuri leidžia nustatyti aplinkos kintamuosius Redis konteineriui. Šiuo atveju nustatome slaptažodį, prievadą ir Redis duomenų bazių skaičių.
    REDIS_PASSWORD: my-password nustato kintamąjį REDIS_PASSWORD su reikšme my-password.
    REDIS_PORT: 6379 nustato Redis prievadą, kuris bus naudojamas konteineryje. Pagal numatytuosius nustatymus Redis naudoja prievadą 6379, todėl šis kintamasis gali būti naudojamas keičiant prievadą į kitą, jei reikia.
    REDIS_DATABASES: 16 nustato Redis duomenų bazių skaičių, kurios bus prieinamos konteineryje. Pagal numatytuosius nustatymus Redis palaiko 16 duomenų bazes, bet šį parametrą galima pakeisti naudojant šį kintamąjį.

     

     

     

    Redis paleidimas

    Dabar, kai turime docker-compose.yaml failą, galime paleisti Redis konteinerį naudodami šią komandą:

     

     

     

     

     

    docker-compose up -d

     



    Ši komanda paleidžia Redis konteinerį fone (pasirinktinis -d parametras). Docker Compose automatiškai įkelia ir sukuria Redis konteinerį pagal nustatymus, nurodytus docker-compose.yaml faile.

    Galite patikrinti, ar paleistas Redis konteineris, vykdydami šią komandą:

     

     

     

    docker ps | grep redis



    Konteineris Redis gali būti paleistas be docker-compose.yaml failo naudojant šią Docker komandą:

     

     

     

     

     

    docker run -d --name my-redis-container -p 6379:6379 -v /path/to/local/dаta:/root/redis -v /path/to/local/redis.conf:/usr/local/etc/redis/redis.conf -e REDIS_PASSWORD=my-password -e REDIS_PORT=6379 -e REDIS_DATABASES=16 redis:latest
    

     

     

     

    Prisijungimas prie Redis

     

     

     

     
    Galite prisijungti prie Redis konteinerio naudodami bet kurį Redis klientą. Tam jums reikės jūsų pagrindinės sistemos IP adreso ir prievado, kurį nurodėte docker-compose.yaml faile.


    Pavyzdžiui, jei naudojate standartinį Redis klientą, galite prisijungti prie Redis konteinerio vykdant šią komandą:

     

     

     

    redis-cli -h 172.27.0.2 -p 6379
    

     



    Čia 172.27.0.2 yra Docker konteinerio IP adresas, kuriame veikia Redis. Norėdami sužinoti jį, naudokite komandą docker ps | grep redis, kad sužinotumėte savo konteinerio ID arba naudokite jo pavadinimą.

     

     

     

     

    docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis_redis_1

     



    Čia redis_redis_1 yra konteinerio pavadinimas, kurio IP adresas turėtų būti filtruojamas.

    Ši komanda naudoja --format vėliavą, kad formatuotų išvestį, kurioje naudojama range funkcija, kad būtų peržiūrimos visos konteinerio tinklai ir rodomas tik kiekvieno tinklo IP adresas. Jei konteineris turi kelis tinklus, bus rodomi visi jų IP adresai. Jei konteineris yra prijungtas tik prie vieno tinklo, bus rodomas tik jo IP adresas.

    Ši komanda  redis-cli -h 172.27.0.2 -p 6379 - prisijungs prie Redis, veikiančio vietiniame kompiuteryje ir klausomo prievado 6379.

    Norint prisijungti iš CMS sistemų, naudokite įdiegtus įskiepius. 

    Taigi, šiame straipsnyje aptarėme, kaip paleisti Redis naudojant Docker ir Docker Compose. Sukūrėme docker-compose.yaml failą su Redis konteinerio konfigūracijomis.