PRISIJUNGTI
    opened image

    Šiame straipsnyje aptarsime, kaip įdiegti MySQL 8 serverį Docker konteineryje ir kaip jį prijungti prie phpMyAdmin naudojant docker-compose, kurį įdiegėme straipsnyje "Kaip įdiegti phpMyAdmin Docker".
     

    Taigi, įdiekime Docker. 
    Kaip įprasta, atnaujiname OS paketus. 

     

    apt update
    


    Įdiegiame reikalingus paketus ir pridedame naują saugyklą:

     

     

     

    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"
    

     


    Atnaujiname paketus su nauja saugykla:

     

     

     

     

    apt update
    

     


    Įdiegiame Docker.

     

     

     

     

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

     


    Patikriname Docker versiją:

     

     

     

     

    docker --version
    

     


    Patikriname būseną:

     

     

     

     

    systemctl status docker
    

     


    Jei jis nepradėjo veikti, paleidžiame:

     

     

     

     

    systemctl start docker
    

     


    Ir pridedame į automatinį paleidimą.

     

     

     

     

    systemctl enable docker
    

     


     

     

    Įdiegiame 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
    


    Suteikiame vykdymo teises docker-compose failui. 

     

     

     

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

     


    Patikriname, ar Docker-Compose įdiegtas:

     

     

     

     

    docker-compose --version
    

     



    Kaip matome, viskas tvarkoje. Pereiname prie Docker-Compose failo kūrimo.

    Kad ateityje būtų lengviau orientuotis, kur ir kas įdiegta, sukursime atskirą aplanką šiam projektui kataloge /home ir pereisime į jį.

     

     

     

     

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

     


    Šiame vadove įdiegsime konkrečią MySQL 8 versiją. Tam naudosime saugyklą iš hub.docker.com

    Norėdami sukurti docker-compose.yaml failą, naudosime saugyklą pagal nuorodą https://hub.docker.com/_/mysql

    Sukuriame failą docker-compose.yaml arba docker-compose.yml:

     

     

     

     

    vim docker-compose.yaml
    

     


    Ir pridedame į jį šį kodą:

     

     

     

    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

     


    Kur:

    db_mysql: Jūsų konteinerio pavadinimas;
    image: mysql: vaizdas, iš kurio bus diegiama mysql 8;
    ports: 3311:3306 - 3311 prievadas, kurį naudosime prisijungimui prie mysql;
    restart:always  - nurodo, kad konteineris bus paleistas iš naujo gedimo ar serverio perkrovimo atveju;
    mysql_USER: naujo vartotojo sukūrimas, šiuo atveju tai yra admin;
    mysql_PASSWORD: slaptažodis vartotojui admin;
    mysql_ROOT_PASSWORD: šis slaptažodis bus nustatytas root supervartotojo mysql paskyrai;
    volumes nurodome bendrą katalogą, kad perkrovus konteinerį būtų išsaugoti duomenų bazės duomenys.

    Paleidžiame mūsų skriptą (tam reikia būti kataloge, kuriame sukurtas mūsų failas. Šiuo atveju tai /home/mysql):

     

     

     

     

     

     

    docker-compose up -d 
    

     


    Laukiame, kol bus atsisiųsti vaizdai ir diegimas bus baigtas.

    Patikriname:

     

     

     

     

    docker-compose ps
    

     


    arba 

     

     

     

     

    docker ps
    

     



    Norėdami peržiūrėti žurnalus, naudokite komandą 

     

     

     

     

    docker logs -f db_mysql
    

     


    Taip pat šią MySQL 8 versiją galima įdiegti kartu su phpMyAdmin ir prijungti prie jos. Pažiūrėkime, kaip tai padaryti.

    Redaguojame sukurtą failą docker-compose.yaml

     

     

     

     

    vim docker-compose.yaml
    

     



    Pridedame žemiau šią konstrukciją:

     

     

     

    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


    Sektoriuje phpmyadmin pridėjome phpmyadmin vaizdą, nurodėme jam prievadą 8091, tačiau dabar jis bus pririštas prie konkretaus duomenų bazės serverio, būtent prie to, kurį įdiegėme/mysql 8

    Šis parametras nurodytas bloke enviroment, kur: 
    PMA_HOST=db_mysql - nurodo konteinerį/bloką mysql, kuris aprašytas aukščiau šiame faile.
    Taip pat direktyva depends_on: nurodo priklausomybę nuo konteinerio db_mysql paleidimo. Tai reiškia, kad kol nebus paleistas konteineris su mysql, konteineris su phpmyadmin nebus paleistas. 

    Galime paleisti phpmyadmin ir mysql viena komanda.

     

     

     

     

     

    docker-compose up -d 
    

     


    Patikriname:

     

     

     

     

    docker-compose ps
    

     


    Kaip matome, konteineriai paleisti. 


    Panašiu būdu galite įdiegti reikiamą MariaDB duomenų bazės versiją. Kaip tai padaryti, galite sužinoti šiame straipsnyje.