შესვლა
    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 მონაცემთა ბაზის ვერსია. როგორ გავაკეთოთ ეს, შეგიძლიათ გაეცნოთ ამ სტატიაში.