opened image

როგორ დავაყენოთ MySQL 8 Docker-ში

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

 

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