Šiame straipsnyje mes aptarsime, kaip įdiegti MariaDB MySQL serverį Docker konteineryje ir pamatysime, kaip jį prijungti prie phpMyAdmin docker-compose, kurį įdiegėme straipsnyje Kaip įdiegti phpMyAdmin Docker.
Kaip įprasta, atnaujiname OS paketus.
apt update
Įdiegsime reikalingus paketus ir pridėsime 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
Žiūrime būseną:
systemctl status docker
Jei jis neįsijungė, įjungiame:
systemctl start docker
Ir pridedame prie automatinio paleidimo.
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
Įdiegiame paleidimo teises failui docker-compose.
chmod +x /usr/local/bin/docker-compose
Patikriname, ar Docker-Compose buvo įdiegtas:
docker-compose --version
Kaip matome, viskas gerai. Pereiname prie failo kūrimo Docker-Compose.
Kad ateityje būtų lengviau orientuotis, kur ir kas yra įdiegta, sukursime atskirą aplanką šiam projektui kataloge /home ir pereisime į jį.
mkdir /home/mariadb && cd /home/mariadb
Šiame vadove mes įdiegsime konkrečią MariaDB 10.8 versiją. Tačiau galite įdiegti jums reikalingą versiją iš prieinamų hub.docker.com svetainėje.
Norėdami sukurti failą docker-compose.yaml, pasinaudosime saugykla pagal nuorodą https://hub.docker.com/_/mariadb
Sukuriame failą docker-compose.yaml arba docker-compose.yml:
vim docker-compose.yaml
Ir pridėsime šį kodą:
version: '3.1' services: mariadb: container_name: mariadb image: mariadb:10.8 ports: - 3310:3306 environment: MARIADB_USER: admin MARIADB_PASSWORD: your_password MARIADB_ROOT_PASSWORD: your_strong_pass restart: always
Kur:
mariadb: jūsų konteinerio pavadinimas;
image: mariadb:10.8: atvaizdas, iš kurio bus diegiama mariadb
ports: 3310:3306 - 3310 prievadas, kurį naudosime prisijungimui prie mariadb
restart:always - nurodo, kad konteineris bus perkrautas, jei įvyks klaida arba serveris bus perkrautas
MARIADB_USER: naujo vartotojo sukūrimas, šiuo atveju tai yra admin;
MARIADB_PASSWORD: slaptažodis vartotojui admin;
MARIADB_ROOT_PASSWORD: šis slaptažodis bus nustatytas MariaDB supervartotojo root paskyrai.
Paleidžiame mūsų skriptą (tam reikia būti kataloge, kur sukurtas mūsų failas. Šiuo atveju tai /home/mariadb):
docker-compose up -d
Laukiame, kol bus atsisiųsti atvaizdai ir diegimas.
Patikriname:
docker-compose ps
arba
docker ps
Norėdami peržiūrėti žurnalus, naudokite komandą
docker logs -f mariadb
Taip pat galite įdiegti tik docker:
docker run -d --name mariadb -e MARIADB_USER=admin -e MARIADB_PASSWORD=your_password -e MARIADB_ROOT_PASSWORD=your_strong_pass mariadb:10.8
Taip pat šią MariaDB 10.8 versiją galima įdiegti kartu su phpMyAdmin ir ją prijungti. Pažiūrėkime, kaip tai padaryti.
Redaguosime sukurtą docker-compose.yaml failą
vim docker-compose.yaml
Pridėsime žemiau šią konstrukciją:
version: '3.1' services: mariadb: container_name: mariadb image: mariadb:10.8 ports: - 3310:3306 environment: MARIADB_USER: admin MARIADB_PASSWORD: your_password MARIADB_ROOT_PASSWORD: your_strong_pass restart: always phpmyadmin: image: phpmyadmin restart: always ports: - 8090:80 environment: - PMA_HOST=mariadb depends_on: - mariadb
phpmyadmin sektoriuje pridėjome phpmyadmin atvaizdą, nurodėme jam prievadą 8090, tačiau dabar jis bus prijungtas prie konkretaus duomenų bazės serverio, būtent to, kurį mes įdiegėme/įvykdėme mariadb:10.8.
Šis parametras nurodytas environment bloke, kur: PMA_HOST=mariadb - nurodo konteinerį/bloką mariadb , kuris aprašytas aukščiau šiame faile.
Taip pat depends_on: direktyva nurodo, kad phpMyAdmin konteineris bus paleistas tik tada, kai mariadb konteineris bus paleistas. Tai reiškia, kad kol mariadb konteineris nebus paleistas, phpMyAdmin konteineris nebus paleistas. Galime paleisti phpmyadmin ir mariadb vienu komandu.
docker-compose up -d arba docker-compose up -d --force-recreate
Patikriname:
docker-compose ps
Panašiu būdu galite įdiegti norimą MariaDB arba MySQL duomenų bazės versiją.
Kaip įdiegti Postgres ir pgadmin4 Docker galite perskaityti straipsnyje Kaip įdiegti PostgreSQL ir pgAdmin Docker.