opened image

MySQL 8-ді Docker-ге қалай орнатуға болады

Бұл мақалада біз Docker контейнерінде MySQL 8 серверін қалай орнату керектігін қарастырамыз және оны phpMyAdmin-ге docker-compose арқылы қалай қосуға болатынын көреміз, оны біз "Docker-де phpMyAdmin-ді қалай орнату керек" мақаласында орнатқан болатынбыз.
 

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 - mysql-ге қосылу үшін қолданылатын 3311 порты;
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 дерекқорының нұсқасын орнатуға болады. Мұны қалай жасау керектігін осы мақалада оқи аласыз.

 

Сондай-ақ, басқа пайдалы мақалаларды қарауды ұсынамыз: