[[oktatas:adatbázis-kezelés:mariadb|< MariaDB]]
====== MariaDB - Docker ======
* **Szerző:** Sallai András
* Copyright (c) 2023, Sallai András
* Szerkesztve: 2024
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== Docker telepítése =====
==== Debian GNU/Linux ====
apt install docker.io
gpasswd -a "${USER}" docker
==== Windows ====
choco install docker
===== MariaDB képfájl beszerzése =====
Online kereső:
* https://hub.docker.com/
Keresés:
docker search mariadb
Képfájl beszerzése
docker pull mariadb:10.4
Legkésőbbi képfájl beszerzése:
docker pull mariadb:latest
===== Konténer futtatása =====
docker run --net host --name sajatmariadb -e MYSQL_ROOT_PASSWORD=titok -p 3306:3306 -d docker.io/library/mariadb:10.3
docker run --net host --name db1 --rm -e MYSQL_ROOT_PASSWORD=titok -p 3307:3306 mariadb:latest
===== Docker műveletek =====
Képfájlok:
docker images
Futó konténerek listázása:
docker ps
Az összes konténer:
docker ps -a
Leállítás:
docker stop db1
Indítás
docker start db1
Újraindítás:
docker restart db1
Konténer törlése:
docker rm db1
===== Konténer elérése =====
A legtöbb konténerben valamilyen linuxos rendszeren fut a MariaDB. Ennek a Linuxnak a parancssorához tudunk kapcsolódni:
docker exec -it db1 bash
===== Docker Compose =====
A Docker telepítésével kapunk egy docker-compose nevű parancsot is, ami Yaml fájlok alapján létrehozza, elindítja, leállítja a kívánt konténert.
version: '3.8'
services:
mariadb01:
image: mariadb
container_name: mariadb01
environment:
- MARIADB_ROOT_PASSWORD=titok
ports:
- 3307:3306
volumes:
- ./data:/var/lib/mysql
Indítás:
docker-compose up -d
Leállítás és törlés:
docker-compose down
A docker-compose segítségével indított konténerek kezelhetők a docker paranccsal is.
Ha a legfrissebb Dockert a webhelyről szerezzük be, a docker-compose helyett egy
docker compose parancsot kell használhatunk, ha feltelepítjük a docker-compose-plugin csomagot.
===== Függelék =====
==== Példák ====
version: '3.8'
services:
mariadb01:
image: mariadb
container_name: mariadb01
environment:
- MARIADB_ROOT_PASSWORD=titok
ports:
- 3307:3306
volumes:
- ./valami:/var/lib/mysql
A konténer indítása:
docker compose up -d
Konténer leállítása:
docker compose down -v
Kezelés:
docker compose stop
docker compose start
Indítás utána a MariaDB szerver elérhető a **3307**-s porton.
Igény szerint kapcsolódhatunk a konténerhez:
docker exec -it mariadb01 bash
version: '3.7'
services:
mariadb01:
image: mariadb
restart: always
container_name: mariadb01
environment:
- MARIADB_ROOT_PASSWORD=titok
ports:
- 3307:3306
volumes:
- ./data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- "40001:80"
environment:
- PMA_HOST=mariadb01
- PMA_PORT=3306
depends_on:
- mariadb01