შესვლა
    opened image

    ამ სტატიაში ჩვენ ვინახავთ, როგორ გავაკეთოთ Redis-ის განახლება Docker-ში და Docker Compose-ში.

    Redis-ია მაღალი პროდუქტიულობის მქონე მონაცემთა ბაზის მართვის სისტემა, რომელიც გამოიყენება მონაცემთა მეხსიერების შენახვად და მუშაობისთვის. Redis-ის გამოყენებით შეგიძლიათ ეფექტურად დაამუშაოთ დიდი მონაცემთა მართვა და მისი ხელმისაწვდომება და უკან დაცულობა მისამართზე.
     

    Docker-ის და Docker Compose-ის ინსტალაცია

    დაიწყეთ სამუშაოს გასაკეთებლად, საჭიროა Docker-ის და Docker Compose-ის ინსტალაცია. ინსტალაციის ინსტრუქციებს თქვენ შეგიძლიათ ნახოთ ჩვენი ბლოგიდან 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-ის ფაილის შექმნა

    რომ განვახადოთ Redis-ის განახლება Docker Compose-ის გამოყენებით, ჩვენ უნდა შევქმნათ docker-compose.yaml ფაილი ჩვენი პროექტის ძირითად დირექტორიაში. ის უნდა შეიცავდეს Redis-კონტეინერის კონფიგურაციის პარამეტრებს.

    რათა შეგიძლიათ მოირგოთ მომავალში, რას გვაქვს დაყენებული, შევქმნათ ცალკე დირექტორია ამ პროექტისთვის /home და შევდივართ მასში.

     

     

     

     

     

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

     



    თქვენ შეგიძლიათ გამოიყენოთ სხვა დირექტორია  ამ და სხვა პროექტების განსამართებლად. 

    გამოვიყენოთ რეპოზიტორია ფაილის docker-compose.yaml შესაქმნელად ბმულით https://hub.docker.com/_/redis

    შევქმნათ ფაილი *.yaml სახელად 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
    

     




    მოდით მოვახდინოთ თითოეული პარამეტრის შესახებ:

    version - ეს არის Docker Compose-ის ფაილის ფორმატის ვერსია. ჩვენ გამოვიყენებთ ვერსიას 3.3.
    services - ეს არის სექცია, სადაც ჩვენ განვიხილავთ კონტეინერების და მათი პარამეტრების სიას. ჩვენი შემთხვევაში ჩვენ განვიხილავთ ერთ სერვისს - Redis-ს.
    redis - ეს არის ჩვენი სერვისის სახელი.
    image - ეს არის Redis-ის სურათის სახელი, რომელსაც ჩვენ გამოვიყენებთ ჩვენი კონტეინერის შექმნისთვის.
    restart - ეს არის პარამეტრი, რომელიც უთითებს Docker-ს რომ გადააკეთოს Redis-ის კონტეინერის გადატვირთვა მისი შეწყვეტის ან შეცდომის შემდეგ.
    ports - ეს არის პარამეტრი, რომელიც განსაზღვრავს, რომელი პორტები უნდა იყოს ხელმისაწვდომი კონტეინერის პორტები ჰოსტ-სისტემაზე. ჩვენს შემთხვევაში ჩვენ გადავაკეთეთ პორტი 6379 Redis-ის კონტეინერის პორტზე 6379 ჰოსტ-სისტემაზე.
    volumes - ეს არის პარამეტრი, რომელიც განსაზღვრავს, რომელი დირექტორიები უნდა იყოს ხელმისაწვდომი კონტეინერში. ჩვენს შემთხვევაში ჩვენ მონტირებთ მონაცემთა და Redis-ის კონფიგურაციის დირექტორიებს.
    environment - ეს არის პარამეტრი, რომელიც განსაზღვრავს Redis-ის კონტეინერის გარე ცვლადებს. ჩვენს შემთხვევაში ჩვენ განვიხილავთ პაროლს, პორტს და Redis-ის ბაზების რაოდენობას.
    REDIS_PASSWORD: my-password განსაზღვრავს ცვლადს REDIS_PASSWORD მნიშვნელობით my-password.
    REDIS_PORT: 6379 განსაზღვრავს Redis-ის პორტს, რომელიც იქნება გამოყენებული კონტეინერში. Redis-ის პორტი ნაგულისხმევად იყენებს პორტს 6379, ამიტომ ეს ცვლადი შეიძლება გამოიყენებდეს პორტის შეცვლისთვის, თუ საჭიროა.
    REDIS_DATABASES: 16 განსაზღვრავს Redis-ის ბაზების რაოდენობას, რომელიც იქნება ხელმისაწვდომი კონტეინერში. Redis-ის ნაგულისხმევად მხოლოდ 16 ბაზა მხოლოდაა, მაგრამ ამ პარამეტრით შეგიძლიათ შეცვალოთ ბაზების რაოდენობა.

     

     

    რედისის გაშვება

    ახლა, როდესაც გვაქვს docker-compose.yaml ფაილი, შეგვიძლია გავუშვათ რედისის კონტეინერი შემდეგ ბრძანებით:

     

     

     

    docker-compose up -d

     



    ეს ბრძანება გაუშვებს რედისის კონტეინერს ფონში (ოფცია -d). Docker Compose ავტომატურად ჩატვირთავს და შექმნის რედისის კონტეინერს docker-compose.yaml-ფაილში მოთავსებულ პარამეტრებზე ორივემ.


    შეგიძლიათ შეამოწმოთ, გაშვებულია თუ არა რედისის კონტეინერი, გაშვებულიათ შემდეგი ბრძანებით:

     

     

    docker ps | grep redis



    ჩვენ შემიძლიათ გაუშვათ რედისის კონტეინერი, გამოყენებით ფაილის docker-compose.yaml გარეშე შემდეგი Docker ბრძანებით:

     

     

     

    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
    

     

     

     

    რედისთვის შემუშავება

     

     
    შეძენით რედისის კონტეინერთან შემომავალი ნებისმიერი კლიენტი. მასში უნდა გქონდეთ თქვენი ჰოსტ სისტემის IP მისამართი და პორტი, რომელიც განისაზღვრეთ docker-compose.yaml-ფაილში.


    მაგალითად, თუ თქვენ გამოიყენებთ სტანდარტულ რედის კლიენტს, შეგიძლიათ შეუკავშიროთ რედისის კონტეინერთან ბრძანებით:

     

     

     

    redis-cli -h 172.27.0.2 -p 6379
    

     



    სადაც 172.27.0.2 არის Docker კონტეინერის IP მისამართი, საიდანაც რედისი მუშაობს. რომ გაიგოთ ის, გამოიყენეთ ბრძანება docker ps | grep redis, რომ გაგებოთ კონტეინერის ID ან გამოიყენოთ მისი სახელი.

     

     


    სამსახურიდან CMS სისტემებიდან შეიძლება გამოყენება ჩავთვალოთ ჩატვირთული პლაგინიები. 

    ასე, ამ სტატიაში შევეხებით, როგორ გავაკეთოთ Redis  Docker-ში და Docker Compose-ში. შევქმენით docker-compose.yaml ფაილი, რომელშიც ჩანს, რომელიც შეამცირებს Redis კონტეინერს.