შესვლა
    opened image

    ამ სტატიაში განვიხილავთ, თუ როგორ დავაყენოთ Docker კონტეინერში MySQL 8 სერვერი და ვნახავთ, როგორ დავაკავშიროთ იგი phpMyAdmin-თან docker-compose-ში, რომელიც დავაყენეთ სტატიაში "როგორ დავაყენოთ phpMyAdmin Docker-ში".
     

    როგორ დავაყენოთ Docker 

    როგორც ყოველთვის, ვაახლებთ ოპერაციული სისტემის პაკეტებს. 

     

    apt update
    


    ვაყენებთ საჭირო პაკეტებს და ვამატებთ ახალ რეპოზიტორიას:

     

     

     

    apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    

     


    ვაახლებთ პაკეტებს ახალი რეპოზიტორიით:

     

     

     

     

    apt update
    

     


    ვაყენებთ Docker-ს.

     

     

     

     

    apt-get install docker-ce docker-ce-cli containerd.io
    

     


    ვამოწმებთ Docker-ის ვერსიას:

     

     

     

     

    docker --version
    

     


    ვხედავთ სტატუსს:

     

     

     

     

    systemctl status docker
    

     


    თუ ის არ გაშვებულა, ვუშვებთ:

     

     

     

     

    systemctl start docker
    

     


    და ვამატებთ ავტოგაშვებაში.

     

     

     

     

    systemctl enable docker
    

     


     

     

    ვაყენებთ 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
    


    ვაყენებთ ფაილზე docker-compose-ს გაშვების უფლებებს. 

     

     

     

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

     


    ვამოწმებთ, დაინსტალირდა თუ არა Docker-Compose:

     

     

     

     

    docker-compose --version
    

     



    როგორც ვხედავთ, ყველაფერი წესრიგშია. გადავდივართ Docker-Compose ფაილის შექმნაზე.

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

     

     

     

     

    mkdir /home/mysql && cd /home/mysql
    

     


    ამ სახელმძღვანელოში, დავაყენებთ კონკრეტულ ვერსიას MySQL 8. ამისთვის გამოვიყენებთ hub.docker.com რეპოზიტორიას

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

    ვქმნით ფაილს docker-compose.yaml ან docker-compose.yml:

     

     

     

     

    vim docker-compose.yaml
    

     


    და ვამატებთ მასში შემდეგ კოდს:

     

     

     

    version: '3.1'
    
    services:
       db_mysql:
          container_name: db_mysql
          image: mysql
          ports:
            - "3311:3306"
          restart: always
          environment:
            MYSQL_USER: admin
            MYSQL_PASSWORD: rNZzq5U37DqJlNe
            MYSQL_ROOT_PASSWORD: 4kDGQDYe4JxDjRd
          volumes:
            - /var/lib/mysqld:/var/lib/mysql

     


    სადაც:

    db_mysql: თქვენი კონტეინერის სახელი;
    image: mysql: იმიჯი, საიდანაც დაინსტალირდება mysql 8;
    ports: 3311:3306 - პორტი 3311, რომელსაც გამოვიყენებთ mysql-თან დასაკავშირებლად;
    restart:always  - მიუთითებს, რომ კონტეინერი გადატვირთვის ან სერვერის გადატვირთვის შემთხვევაში ავტომატურად გადატვირთავს;
    mysql_USER: ახალი მომხმარებლის შექმნა, ამ შემთხვევაში admin;
    mysql_PASSWORD: admin-ის პაროლი;
    mysql_ROOT_PASSWORD: ეს პაროლი დაყენდება mysql-ის root სუპერმომხმარებლის ანგარიშისთვის;
    volumes ში ვწერთ საერთო დირექტორიას, რათა კონტეინერის გადატვირთვისას მონაცემთა ბაზის მონაცემები შენარჩუნდეს.

    ვუშვებთ ჩვენს სკრიპტს (ამისთვის საჭიროა ვიყოთ დირექტორიაში, სადაც შექმნილია ჩვენი ფაილი. ამ შემთხვევაში ეს არის /home/mysql):

     

     

     

     

     

     

    docker-compose up -d 
    

     


    ვიცდით იმიჯების ჩამოტვირთვას და ინსტალაციას.

    ვამოწმებთ:

     

     

     

     

    docker-compose ps
    

     


    ან 

     

     

     

     

    docker ps
    

     


     

     

    როგორ ვნახოთ ლოგები

     

    docker logs -f db_mysql
    

     


    ასევე, ამ ვერსიის mysql 8 მონაცემთა ბაზა შეიძლება დაინსტალირდეს phpMyAdmin-თან ერთად და მიება მას. განვიხილოთ, როგორ გავაკეთოთ ეს.

    ვასწორებთ შექმნილ ფაილს docker-compose.yaml

     

     

     

     

    vim docker-compose.yaml
    

     



    ვამატებთ ქვემოთ შემდეგ კონსტრუქციას:

     

     

     

    version: '3.1'
    
    services:
       db_mysql:
          container_name: db_mysql
          image: mysql
          ports:
            - "3311:3306"
          restart: always
          environment:
            MYSQL_USER: admin
            MYSQL_PASSWORD: rNZzq5U37DqJlNe
            MYSQL_ROOT_PASSWORD: 4kDGQDYe4JxDjRd
          volumes:
            - /var/lib/mysqld:/var/lib/mysql
       phpmyadmin:
          container_name: phpmyadmin
          image: phpmyadmin
          restart: always
          ports:
            - "8091:80"
          environment:
            - PMA_HOST=db_mysql
          depends_on:
            - db_mysql


    phpmyadmin სექციაში დავამატეთ phpmyadmin-ის იმიჯი, მივუთითეთ პორტი 8091, მაგრამ ახლა ის მიება კონკრეტულ მონაცემთა ბაზის სერვერს, კერძოდ, mysql 8-ს, რომელიც დავაყენეთ/გავუშვით

    ეს პარამეტრი მითითებულია enviroment ბლოკში, სადაც: 
    PMA_HOST=db_mysql - მიუთითებს mysql კონტეინერზე/ბლოკზე, რომელიც აღწერილია ზემოთ ამ ფაილში.
    ასევე, depends_on დირექტივა მიუთითებს კონტეინერის db_mysql გაშვების დამოკიდებულებაზე. ეს ნიშნავს, რომ სანამ mysql კონტეინერი არ გაეშვება, phpmyadmin კონტეინერი არ გაეშვება. 

    შეგვიძლია გავუშვათ phpmyadmin და mysql ერთი ბრძანებით.

     

     

     

     

    docker-compose up -d 
    

     


    ვამოწმებთ:

     

     

     

    docker-compose ps
    

     


    როგორც ვხედავთ, კონტეინერები გაშვებულია. 


    მსგავსად, შეგიძლიათ დააყენოთ თქვენთვის საჭირო MariaDB მონაცემთა ბაზის ვერსია. როგორ გავაკეთოთ ეს, შეგიძლიათ გაეცნოთ ამ სტატიაში.

     

    ასევე გთავაზობთ სხვა სასარგებლო სტატიების განხილვას: