КІРУ
    opened image

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

    Сонымен, 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 дерекқор нұсқасын орнатуға болады. Мұны қалай жасау керектігін осы мақалада біле аласыз.