Š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
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
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:
- Kā uzstādīt phpMyAdmin Docker
- Kā uzstādīt Redis Docker un Docker Compose
- Kā kopēt datus no hosta uz Docker un no Docker uz hostu