Για να χρησιμοποιήσεις το Docker και το docker-compose, πρέπει να τα έχεις εγκαταστήσει στον υπολογιστή σου. Αν δεν τα έχεις, μπορείς να ακολουθήσεις τις οδηγίες στον ιστότοπο του Docker για να τα εγκαταστήσεις.
Κατέβασε το Docker image της MariaDB
Πρώτα, πρέπει να κατεβάσουμε το image της MariaDB από το Docker Hub. Αυτό το image περιέχει ό,τι χρειάζεται για να τρέξει η MariaDB.
docker pull mariadb:latest
Αυτή η εντολή θα κατεβάσει την τελευταία έκδοση του image της MariaDB. Αν χρειάζεται, μπορείς να ορίσεις συγκεκριμένη έκδοση:
docker pull mariadb:10.5
Δημιούργησε ένα Docker δίκτυο (προαιρετικό)
Ένα προσαρμοσμένο δίκτυο επιτρέπει καλύτερη επικοινωνία μεταξύ των containers. Το βήμα αυτό είναι προαιρετικό, αλλά συνιστάται για πιο σύνθετες διαμορφώσεις με πολλά containers.
docker network create mariadb_network
Τρέξε ένα container της MariaDB
Τώρα, ας τρέξουμε ένα container της MariaDB με το image που μόλις κατεβάσαμε. Θα αντιστοιχίσουμε μια τοπική θύρα στη θύρα του container και θα ορίσουμε μερικές μεταβλητές περιβάλλοντος για τον κωδικό του root και το όνομα της βάσης δεδομένων.
docker run --name mariadb-container -d \
--network mariadb_network \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=mydatabase \
-p 3306:3306 \
mariadb:latest
- –name mariadb-container: Δίνει όνομα στο container για ευκολότερη αναφορά.
- -d: Τρέχει το container σε detached mode.
- –network mariadb_network: Συνδέει το container στο προσαρμοσμένο δίκτυο.
- -e MYSQL_ROOT_PASSWORD=my-secret-pw: Ορίζει τον κωδικό του root για τη MariaDB.
- -e MYSQL_DATABASE=mydatabase: Δημιουργεί μια βάση δεδομένων με όνομα mydatabase.
- -p 3306:3306: Αντιστοιχίζει τη θύρα 3306 του host στη θύρα 3306 του container.
Έλεγξε ότι το container της MariaDB τρέχει
Χρησιμοποίησε την παρακάτω εντολή για να ελέγξεις αν το container της MariaDB τρέχει:
docker ps
Αναμενόμενη έξοδος:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abc123def456 mariadb:latest "docker-entrypoint.s…" 5 seconds ago Up 5 seconds 0.0.0.0:3306->3306/tcp mariadb-container
Σύνδεση στο container της MariaDB
Τώρα που το container της MariaDB τρέχει, μπορείς να συνδεθείς σε αυτό με έναν MySQL client. Αν έχεις εγκατεστημένο τοπικά τον MySQL client, μπορείς να συνδεθείς με:
mysql -h 127.0.0.1 -P 3306 -u root -p
Αφού εισαγάγεις τον κωδικό του root (my-secret-pw), θα έχεις συνδεθεί στο instance της MariaDB.
Χρήση του Docker Compose
Το Docker Compose μπορεί να διαχειριστεί διαμορφώσεις με πολλά containers μέσω ενός απλού αρχείου ρυθμίσεων. Δες πώς να στήσεις τη MariaDB με το Docker Compose:
Δημιούργησε ένα αρχείο docker-compose.yml
Δημιούργησε ένα αρχείο docker-compose.yml στον κεντρικό φάκελο του project σου. Αυτό το αρχείο θα ορίζει τα containers που θέλεις να τρέχουν στο περιβάλλον ανάπτυξής σου.
version: '3.1'
services:
mariadb:
image: mariadb:latest
container_name: mariadb-compose
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
MYSQL_DATABASE: mydatabase
ports:
- "3306:3306"
networks:
- mariadb_network
networks:
mariadb_network:
driver: bridge
Σε αυτό το παράδειγμα, χρησιμοποιούμε το image mariadb:latest και ορίζουμε διάφορες μεταβλητές περιβάλλοντος για να ρυθμίσουμε τη βάση δεδομένων. Εκθέτουμε επίσης την προεπιλεγμένη θύρα της MariaDB (3306), ώστε να μπορούμε να συνδεθούμε στη βάση από την εφαρμογή μας.
Τρέξε το Docker Compose για να ξεκινήσεις το container:
docker-compose up -d
Αναμενόμενη έξοδος:
Creating network "projectname_mariadb_network" with driver "bridge"
Creating mariadb-compose ... done
Αυτή η εντολή θα κατεβάσει τα απαραίτητα images και θα ξεκινήσει τα containers στο παρασκήνιο. Τρέξε την χωρίς -d για να ξεκινήσεις το container στο προσκήνιο. Μπορείς να δεις την κατάσταση των containers με την παρακάτω εντολή:
docker-compose ps
Σύνδεση στη MariaDB μέσω του Beekeeper Studio
Κατέβασε το Beekeeper Studio (δωρεάν) >
Το Beekeeper Studio είναι ένας open source SQL editor που υποστηρίζει τη MariaDB. Δες πώς να συνδεθείς στο instance της MariaDB που τρέχει σε Docker με το Beekeeper Studio:
- Άνοιξε το Beekeeper Studio και κάνε κλικ στο
New Connection. - Επίλεξε MariaDB ως τύπο σύνδεσης.
- Συμπλήρωσε τα παρακάτω στοιχεία σύνδεσης:
- Host: 127.0.0.1
- Θύρα: 3306
- Όνομα χρήστη: root
- Κωδικός: my-secret-pw
- Βάση δεδομένων: mydatabase (προαιρετικό)
- Κάνε κλικ στο
Connectγια να γίνει η σύνδεση.
Θα έχεις ένα ωραίο, ευχάριστο περιβάλλον για να επεξεργάζεσαι & να κάνεις query στη βάση δεδομένων MariaDB:
Διαχείριση του περιβάλλοντος ανάπτυξης
Για να σταματήσεις το container της MariaDB:
docker stop mariadb-container
Για να ξεκινήσεις ξανά το container:
docker start mariadb-container
Για να διαγράψεις το container:
docker rm -f mariadb-container
Συμπέρασμα
Ένα περιβάλλον ανάπτυξης MariaDB με Docker σού δίνει μια αξιόπιστη διαμόρφωση που διαχειρίζεσαι και αναπαράγεις εύκολα. Το Docker Compose προσθέτει επεκτασιμότητα, κάνοντάς το εξαιρετική επιλογή τόσο για μικρά projects όσο και για μεγαλύτερες ομάδες ανάπτυξης.
Άλλα άρθρα που μπορεί να σου αρέσουν:
Το Beekeeper Studio είναι ένα δωρεάν & open source GUI για MariaDB
Το Beekeeper Studio είναι το καλύτερο εργαλείο που βρήκα για τη διαχείριση της MariaDB. Είναι ευέλικτο, εύκολο στη χρήση και προσφέρει πολλές ωραίες επιλογές. Είναι διαμάντι! Συγχαρητήρια στην ομάδα ανάπτυξης! - Nick
Το Beekeeper Studio είναι ένας γρήγορος, διαισθητικός και εύκολος στη χρήση client για MariaDB. Υποστηρίζει και πολλές άλλες βάσεις δεδομένων και δουλεύει άψογα σε Windows, Mac και Linux.
Τι λένε οι χρήστες της MariaDB για το Beekeeper Studio
Πάντα χρησιμοποιούσα το HeidiSQL, γιατί αυτό έρχεται με τη MariaDB (και είναι δωρεάν), αλλά πάντα με εκνεύριζε το αργό έως ανύπαρκτο autocomplete και ότι έπρεπε να χρησιμοποιώ πολύ το ποντίκι. Το BeeKeeper λύνει αυτά τα προβλήματα. Η μορφοποίηση JSON των δεδομένων των πινάκων είναι εξαιρετικά βολική.
Στη δουλειά μου ασχολούμαι με όλο τον legacy κώδικα αλλά και με ολοκαίνουργιο κώδικα, χρησιμοποιώντας MSSQL/Mariadb/Oracle/Postgres και sqlite, και νομίζω ότι βρήκα επιτέλους το εργαλείο που καλύπτει όλες μου τις ανάγκες σε ένα