КІРУ
    opened image

    Redis-ты Docker және Docker Compose-да қалай орнату керек?


    Бұл мақалада Docker және Docker Compose көмегімен Redis-ты қалыптау туралы талдау жасаймыз.

    Redis - бұл деректер қуаты мен өңдеуді басқару жүйесі, деректерді мұрау және өңдеу мақсатында қолданылатын жоғары производительді бағдарламалау жүйесі. Redis көлемді деректерді тиіп тұратын және жеткізетін деректерді өңдеу үшін мүмкіндік береді, барлықты боларын жеткізу және қатесіздік көрсетеді.
     

     

    Docker және Docker Compose орнату

    Бастапқы қатарда, Docker және Docker Compose орнатуыңыз көрінеді. Сіздің операциялық жүйесіне сәйкес Docker орнату туралы нұсқауларды біздің блогимізде Centos 7 не Ubuntu 20.04 туралы таба аласыздар.
     


    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


    Іске қосу үшін рұқсаттықтарды орнату. 

     

     

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

     


    Docker-Compose нешімін тексеру:

     

     

     

    docker-compose --version

     

     

    Docker Compose файлды құру

    Docker Compose көмегімен Redis-ты қалыптау үшін бізге өз проектіміздің негізгі қаламына docker-compose.yaml файлын құру керек. Ол Redis контейнерінің баптауларын ұсынататын болады.

    Менімізде орнатуымызды жасау үшін келісім келтіру үшін /home каталогында бұл проектті ашу және оның ішіне кіріңізді.

     

     

     

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

     



    Сіз бұл және басқа проекттерді туралы барлық мәліметтерді білу үшін бірдені папка құрау қажет.

    Docker-Compose файлын https://hub.docker.com/_/redis сілтемесі арқылы жасау үшін папка мекенжайында docker-compose.yaml файлын жасау қажет.

    *.yaml  үшін файлды жасаймыз.

     

     

     

    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
    

     




    Әр параметрды талдаңыз:

    version - бұл Docker Compose файлының пішімінің нұсқасы. Біз 3.3 нұсқасын қолданамыз.
    services - бұл мынау сіз контейнерлердін тізімі мен олардың параметрлерін анықтау үшін жергілікті бөлім. Мысалы, біз бір сервисті - Redis қолданамыз.
    redis - бұл біздің сервістіміздің атауы.
    image - бұл біздің контейнерді жасау үшін қолданатын Redis тарапынан пайдаланылатын атауы.
    restart - бұл Docker-дың Redis контейнерін қосуда немесе оны тоқтатуда қайта іске қосуын белгілеу.
    ports - бұл контейнердің порттарының қайсысын қосылатын болуын анықтау параметрі. Біз бұларды Redis контейнерінің 6379 портынан хост-жүйесінің 6379 портына басуын ойлауымыз.
    volumes - бұл контейнердің ішіндегі директориялардың қайсысының контейнердің ішінде қолданылуын анықтау параметрі. Біз бұларды Redis деректері мен баптау файлдарымен қосамыз.
    environment - бұл контейнердің Redis үшін орналасатын атрибуттарын анықтау параметрі. Бізде бұлар жасау жолында мысалы, үзіміздің парольіміз мен 6379 портын, сондай-а Redis базаларының санын анықтау параметрлері бар.
    REDIS_PASSWORD: my-password REDIS_PORT: 6379 мен REDIS_DATABASES: 16 параметрлерінің біріншісі REDIS_PASSWORD атрибутты my-password мәнімен анықталады. Үлгі бойынша өзгерту үшін Redis портын өзгерту қажет болса, бұл атрибутты пайдалана аламыз.

     

     

     

    Redis іске қосу

    Егер docker-compose.yaml файлымыз болса, Redis контейнерін docker-compose up -d командасы арқылы іске қосуға болады:

     

     

     

    docker-compose up -d

     



    Бұл команда Redis контейнерін фонды жүргізеді (опция -d). Docker Compose файлымызда берілген параметрлерге сәйкес, Docker Compose автоматты түрде Redis контейнерін жүктеу және жасау арқылы іске қосады.

    Redis контейнері іске қосылғанын тексеру үшін, команданы орындау арқылы тексеріп алуыңызға болады:

     

     

     

    docker ps | grep redis



    Docker файлымызды қолданбауымызсыз, сізде docker-compose.yaml файлы жоқ болса, келесі Docker командасы арқылы Redis контейнерін іске қосуға болады:

     

     

     

     

     

    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
    

     

     

    Redis-ге қосылу

     

     
    Сіз Redis контейнеріне кіші қорақалы клиент арқылы қосылуға болады. Бұл үшін хост жүйесінің IP мекенжайы және docker-compose.yaml файлында белгілеген порт көрсетіледі.


    Мысалы, стандартты Redis клиентін пайдаланатын болсаңыз, команданы орындау арқылы Redis контейнеріне қосылуға болады:

     

     

     

    redis-cli -h 172.27.0.2 -p 6379
    

     



    172.27.0.2 бұл Redis жұмыс істейтін Docker контейнерінің IP мекенжайы. Оны анықтау үшін docker ps | grep redis командасын орындап, контейнердің ID-сін табуыңыз немесе атын пайдалануыңыз мүмкін.

     

     

     

     

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

     



     

    redis_redis_1 - бұл IP мекенжайын алу көрсетілген контейнердің атауы. --format параметрін пайдалану арқылы берілген шабытымен шығару үшін, range функциясы пайдаланылады. Онда контейнердің барлық желілерінен өтіп, өзгеріссіз тек көрсетілген желінің IP мекенжайы шығарылады. Егер контейнерге бірнеше желі қосылмаса, тек қосылған желінің IP мекенжайы шығарылады.

    redis-cli -h 172.27.0.2 -p 6379 командасы Redis-ге локалды машинасында жұмыс істейтін және 6379 портында өңдеу жасаушы арқылы қосылады.

    CMS системаларынан қосылу үшін, олардың өзінде келген плагиндерді пайдаланыңыз.

    Сондай-ақ, бұл мақалада біз Docker және Docker Compose арқылы Redis қалыптастыруды қалай орнату қауымызды. docker-compose.yaml файлымызды қолданбауымызды құрып көрдік.