PIESLĒGTIES
    opened image

    Šajā rakstā mēs apskatīsim, kā uzstādīt Docker konteinerī MySQL 8 serveri un redzēsim, kā to pieslēgt phpMyAdmin docker-compose, kuru mēs uzstādījām rakstā Kā uzstādīt phpMyAdmin Docker.
     

    Tātad, uzstādīsim Docker. 
    Kā parasti, atjauninām OS paketes. 

     

    apt update
    


    Uzstādīsim nepieciešamās paketes un pievienosim jaunu repozitoriju:

     

     

     

    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"
    

     


    Atjauninām paketes ar jauno repozitoriju:

     

     

     

     

    apt update
    

     


    Uzstādām Docker.

     

     

     

     

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

     


    Pārbaudām Docker versiju:

     

     

     

     

    docker --version
    

     


    Skatāmies statusu:

     

     

     

     

    systemctl status docker
    

     


    Gadījumā, ja tas nav palaists, palaižam:

     

     

     

     

    systemctl start docker
    

     


    Un pievienojam automātiskajai palaišanai.

     

     

     

     

    systemctl enable docker
    

     


     

     

    Uzstādām 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
    


    Uzstādām izpildes tiesības failam docker-compose. 

     

     

     

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

     


    Pārbaudām, vai Docker-Compose ir uzstādīts:

     

     

     

     

    docker-compose --version
    

     



    Kā redzam, viss ir kārtībā. Pārejam pie Docker-Compose faila izveides.

    Lai nākotnē orientētos, kur un kas mums ir uzstādīts, izveidosim atsevišķu mapi šim projektam katalogā /home un pāriesim uz to.

     

     

     

     

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

     


    Šajā rokasgrāmatā mēs uzstādīsim konkrētu MySQL 8 versiju. Lai to izdarītu, izmantosim repozitoriju no hub.docker.com

    Lai izveidotu docker-compose.yaml failu, izmantosim repozitoriju pēc saites https://hub.docker.com/_/mysql

    Izveidojam failu docker-compose.yaml vai docker-compose.yml:

     

     

     

     

    vim docker-compose.yaml
    

     


    Un pievienojam tam šādu kodu:

     

     

     

    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ūsu konteinera nosaukums;
    image: mysql: attēls, no kura tiks izvērsta mysql 8;
    ports: 3311:3306 - ports 3311, kuru mēs izmantosim, lai pieslēgtos mysql;
    restart:always  - norāda, ka konteiners tiks restartēts kļūmes vai servera pārstartēšanas gadījumā;
    mysql_USER: jauna lietotāja izveide, šajā gadījumā tas ir admin;
    mysql_PASSWORD: parole lietotājam admin;
    mysql_ROOT_PASSWORD: šī parole tiks uzstādīta mysql superlietotāja root kontam;
    volumes mēs norādām kopējo direktoriju, lai pēc konteinera restartēšanas saglabātos datu bāzes dati.

    Palaidīsim mūsu skriptu (tam jāatrodas direktorijā, kur izveidots mūsu fails. Šajā gadījumā tas ir /home/mysql):

     

     

     

     

     

     

    docker-compose up -d 
    

     


    Gaidām attēlu lejupielādi un izvēršanu.

    Pārbaudām:

     

     

     

     

    docker-compose ps
    

     


    vai 

     

     

     

     

    docker ps
    

     



    Lai skatītu žurnālus, izmantojiet komandu 

     

     

     

     

    docker logs -f db_mysql
    

     


    Arī šo MySQL 8 datu bāzes versiju var uzstādīt kopā ar phpMyAdmin un piesaistīt tai. Apskatīsim, kā to izdarīt.

    Rediģēsim izveidoto failu docker-compose.yaml

     

     

     

     

    vim docker-compose.yaml
    

     



    Pievienosim zemāk šādu konstrukciju:

     

     

     

    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


    Sektorā phpmyadmin mēs pievienojām phpmyadmin attēlu, norādījām tam portu 8091, bet tagad tas būs piesaistīts konkrētam datu bāzes serverim, proti, tam, kuru mēs uzstādījām/izvērām mysql 8

    Šis parametrs ir norādīts blokā enviroment, kur: 
    PMA_HOST=db_mysql - norāda uz konteineru/bloku mysql, kas aprakstīts augstāk šajā failā.
    Tāpat direktīva depends_on: norāda uz atkarību no konteinera db_mysql palaišanas. Tas nozīmē, ka, kamēr netiks palaists konteiners ar mysql, konteiners ar phpmyadmin netiks palaists. 

    Mēs varam palaist phpmyadmin un mysql ar vienu komandu.

     

     

     

     

     

    docker-compose up -d 
    

     


    Pārbaudām:

     

     

     

     

    docker-compose ps
    

     


    Kā redzam, konteineri ir palaisti. 


    Līdzīgā veidā jūs varat uzstādīt nepieciešamo MariaDB datu bāzes versiju. Kā to izdarīt, varat iepazīties šajā rakstā.