opened image

Kā instalēt MySQL 8 Docker vidē

Š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.
 

Kā uzstādīt 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 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 sekojošo 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 restartēš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ā ir 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

 


 

 

Kā skatīties logus

 

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 sekojošo 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ā.

 

Arī piedāvājam apskatīt citus noderīgus rakstus: