Πώς να εγκαταστήσετε το WordPress σε κοντέινερ Docker
Μάθετε πώς να εκτελείτε μια εγκατάσταση WordPress σε κοντέινερ Docker, τόσο χειροκίνητα όσο και με το Docker Compose. Οι προγραμματιστές WordPress θα βρουν χρήσιμο να εκτελούν το WordPress σε κοντέινερ Docker. Το Docker διευκολύνει τη δοκιμή πολλαπλών διαμορφώσεων του WordPress και την εκκίνηση μιας νέας εγκατάστασης WordPress με λίγες μόνο απλές εντολές.
Απαιτήσεις
Για να λειτουργεί ομαλά το WordPress σε κοντέινερ Docker, χρειάζεστε μια πρόσφατη και υποστηριζόμενη διανομή Linux. Παλαιότερες εκδόσεις, όπως το CentOS 7 ή το Ubuntu 14.04, είναι ξεπερασμένες και θα πρέπει να αντικατασταθούν με σύγχρονες εναλλακτικές λύσεις. Οι προτεινόμενες επιλογές περιλαμβάνουν:
- Ubuntu 22.04 LTS ή νεότερη έκδοση
- Debian 12 ή νεότερη έκδοση
- Μια τρέχουσα έκδοση του Red Hat Enterprise Linux (RHEL) ή του AlmaLinux
Πρέπει επίσης να έχετε εγκαταστήσει το Docker και να είναι έτοιμο για χρήση. Η ελάχιστη απαίτηση είναι το Docker 20.10 ή νεότερη έκδοση, ώστε να επωφεληθείτε από τις πιο πρόσφατες βελτιώσεις στην ασφάλεια και την απόδοση. Αν θέλετε να χρησιμοποιήσετε το Docker Compose, βεβαιωθείτε ότι χρησιμοποιείτε τουλάχιστον την έκδοση 2.x, καθώς οι παλαιότερες εκδόσεις δεν υποστηρίζονται πλέον ενεργά.
Είναι χρήσιμο να διαθέτετε βασικές γνώσεις χρήσης της γραμμής εντολών και να είστε εξοικειωμένοι με τα Docker Compose και Docker. Αν σχεδιάζετε μια μεγαλύτερη ή επεκτάσιμη εγκατάσταση, αξίζει να εξερευνήσετε το Kubernetes για συντονισμό κοντέινερ επαγγελματικού επιπέδου.
Πώς να εκτελέσετε το WordPress σε κοντέινερ Docker
Μια επιτυχημένη εγκατάσταση του WordPress αποτελείται από τρία στοιχεία:
- Το λογισμικό WordPress
- Μια βάση δεδομένων MySQL ή MariaDB
- Τα τελικά βήματα εγκατάστασης ολοκληρώνονται σε ένα πρόγραμμα περιήγησης
Στα παρακάτω παραδείγματα, το WordPress και το MySQL/MariaDB θα εκτελούνται σε ξεχωριστά, συνδεδεμένα κοντέινερ. Το κοντέινερ που εκτελεί το λογισμικό WordPress θα αντιστοιχιστεί σε μια θύρα του κεντρικού υπολογιστή, ώστε να μπορείτε να έχετε πρόσβαση σε αυτό μέσω ενός προγράμματος περιήγησης.
Εκτέλεση ενός κοντέινερ MySQL/MariaDB
Μόλις ξεκινήσει το Docker, το πρώτο βήμα είναι να ρυθμίσετε τη βάση δεδομένων. Ξεκινήστε εκτελώντας ένα κοντέινερ με το όνομα my-db. Μπορείτε να χρησιμοποιήσετε είτε το MySQL είτε το MariaDB, το οποίο αποτελεί άμεσο υποκατάστατο του MySQL.
MySQL
Ξεκινήστε ένα container με την ακόλουθη εντολή:
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mysql:latestMariaDB
Ξεκινήστε ένα container με την ακόλουθη εντολή:
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mariadb:latestΔημιουργία βάσης δεδομένων
Αφού δημιουργήσετε το container σας, πρέπει να δημιουργήσετε μια βάση δεδομένων για την εγκατάσταση του WordPress.
MySQL
Συνδεθείτε στο container της βάσης δεδομένων που μόλις δημιουργήσατε χρησιμοποιώντας την ακόλουθη εντολή:
docker exec -it my-db mysql -u root -pΔημιουργία βάσης δεδομένων:
CREATE Database wordpress-db;MariaDB
Συνδεθείτε στο container της βάσης δεδομένων που μόλις δημιουργήσατε χρησιμοποιώντας την ακόλουθη εντολή:
docker exec -it my-db mariadb -u root -pΔημιουργία βάσης δεδομένων:
CREATE Database wordpress-db;Εκτέλεση ενός κοντέινερ WordPress
Στη συνέχεια, εκτελέστε ένα κοντέινερ χρησιμοποιώντας την επίσημη εικόνα του WordPress. Θα αντιστοιχιστεί στη θύρα 8080 του κεντρικού υπολογιστή και θα συνδεθεί με το κοντέινερ της βάσης δεδομένων.
Δύο σημειώσεις:
- Εάν διαθέτετε τείχος προστασίας, ίσως χρειαστεί να επιτρέψετε την πρόσβαση στη θύρα 8080.
- Εάν μια άλλη υπηρεσία εκτελείται ήδη στη θύρα 8080, μπορείτε να επιλέξετε μια διαφορετική θύρα στον κεντρικό υπολογιστή.
Η εντολή διαφέρει ελαφρώς ανάλογα με το αν χρησιμοποιείτε MySQL ή MariaDB:
MySQL
Ξεκινήστε ένα container WordPress χρησιμοποιώντας την ακόλουθη εντολή:
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mysql -d wordpress:latestMariaDB
Ξεκινήστε ένα container WordPress χρησιμοποιώντας την εντολή:
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mariadb -d wordpress:latestΥπάρχουν πολλές άλλες μεταβλητές περιβάλλοντος που μπορείτε να προσθέσετε σε αυτήν την εντολή αν θέλετε να παρακάμψετε τις προεπιλεγμένες ρυθμίσεις, όπως:
-e WORDPRESS_DB_HOST=[hostname]: Η προεπιλογή είναι η διεύθυνση IP και η θύρα του συνδεδεμένου κοντέινερ MySQL/MariaDB. Αυτή η μεταβλητή σας επιτρέπει να συνδεθείτε σε μια βάση δεδομένων MySQL/MariaDB σε άλλο διακομιστή.-e WORDPRESS_DB_USER=[username]: Η προεπιλογή είναιroot.-e WORDPRESS_DB_PASSWORD=[password]: Η προεπιλογή είναι η μεταβλητή περιβάλλοντοςMYSQL_ROOT_PASSWORDαπό το συνδεδεμένο κοντέινερ MySQL/MariaDB.-e WORDPRESS_DB_NAME=[name]: Η προεπιλογή είναι"wordpress".
Για μεγαλύτερη ασφάλεια, ίσως είναι προτιμότερο να μην εκτελείτε κοντέινερ στο προεπιλεγμένο δίκτυο bridge. Αντ’ αυτού, μπορείτε να δημιουργήσετε ένα προσαρμοσμένο δίκτυο:
docker network create my-wp-network
docker run --name my-db --network my-wp-network -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mysql:latest
docker run --name my-wordpress --network my-wp-network -p 8080:80 -d wordpress:latestΕδώ, τα κοντέινερ σας είναι πιο απομονωμένα από τα άλλα, μειώνοντας έτσι τον κίνδυνο ανεπιθύμητων συνδέσεων. Μπορείτε επίσης να ρυθμίσετε τους κανόνες δικτύου με μεγαλύτερη λεπτομέρεια, όπως για παράδειγμα χρησιμοποιώντας προσαρμοσμένες ρυθμίσεις τείχους προστασίας ή αναπτύσσοντας έναν αντίστροφο διακομιστή μεσολάβησης.
Πώς να ολοκληρώσετε την εγκατάσταση σε ένα πρόγραμμα περιήγησης
Για τα τελικά βήματα της εγκατάστασης, πρέπει να συνδεθείτε στο container του WordPress μέσω ενός προγράμματος περιήγησης.
Στο παραπάνω παράδειγμα, αντιστοιχίσαμε τη θύρα 8080 του κεντρικού υπολογιστή με τη θύρα 80 (υπηρεσίες ιστού) του κοντέινερ. Αυτό σημαίνει ότι μπορείτε πλέον να έχετε πρόσβαση στο κοντέινερ μέσω του προγράμματος περιήγησής σας, είτε χρησιμοποιώντας τη διεύθυνση IP του διακομιστή είτε ένα όνομα τομέα:
http://<server-ip>:8080http://example.com:8080
Ανοίξτε τη διεύθυνση URL στον περιηγητή σας, επιλέξτε τη γλώσσα εγκατάστασης και κάντε κλικ στο «Συνέχεια».

Στην επόμενη οθόνη, θα δείτε ένα μήνυμα που σας προετοιμάζει για το επόμενο βήμα της εγκατάστασης. Κάντε κλικ στο κουμπί «Πάμε!» για να συνεχίσετε.

Τώρα, εισάγετε τα στοιχεία της βάσης δεδομένων σας, ώστε να δημιουργηθεί το αρχείο wp-config.php:

Σημειώστε ότι ο προεπιλεγμένος χρήστης είναι ο «root», εκτός αν ορίζεται διαφορετικά. Εισαγάγετε το όνομα της βάσης δεδομένων που δημιουργήσατε και τον κωδικό πρόσβασης που επιλέξατε. Πατώντας το κουμπί «Υποβολή» θα οδηγηθείτε στα επόμενα βήματα της εγκατάστασης.

- Τίτλος ιστότοπου: Εισάγετε τον τίτλο του ιστότοπού σας.
- Όνομα χρήστη: Αυτό είναι το κύριο όνομα χρήστη διαχειριστή για τον ιστότοπό σας. Συμβουλή: Για λόγους ασφαλείας, συνιστούμε να μην χρησιμοποιείτε το «Admin» ή το όνομα τομέα/URL σας.
- Κωδικός πρόσβασης: Φροντίστε να τον σημειώσετε πριν συνεχίσετε.
- Το email σας: Αυτή είναι η διεύθυνση email που έχει συνδεθεί με τον λογαριασμό διαχειριστή.
Στη συνέχεια, κάντε κλικ στο κουμπί «Εγκατάσταση WordPress» για να ολοκληρώσετε την εγκατάσταση.

Μόλις ολοκληρωθεί η εγκατάσταση, θα εμφανιστεί ένα μήνυμα επιβεβαίωσης και θα μπορείτε να συνδεθείτε στο WordPress.
Πώς να εκτελέσετε το WordPress με το Docker Compose
Η χρήση του Docker Compose είναι ένας άλλος τρόπος για να εκτελέσετε το WordPress. Μπορείτε να βρείτε οδηγίες εγκατάστασης και χρήσης στο άρθρο μας σχετικά με τον συντονισμό του Docker με το Swarm και το Compose. Ουσιαστικά, το εργαλείο σας επιτρέπει να ορίσετε όλες τις απαιτούμενες υπηρεσίες σε ένα μόνο αρχείο και να τις εκκινήσετε ταυτόχρονα.
Δημιουργία του αρχείου YAML
Πρώτα, δημιουργήστε έναν κατάλογο για το έργο σας και μεταβείτε σε αυτόν:
sudo mkdir wordpress
cd wordpressΔημιουργήστε ένα αρχείο YAML με το όνομα docker-compose.yml χρησιμοποιώντας την ακόλουθη εντολή:
sudo nano docker-compose.ymlΤο περιεχόμενο του αρχείου διαφέρει ελαφρώς ανάλογα με το αν χρησιμοποιείτε MySQL ή MariaDB:
MySQL
Προσθέστε το ακόλουθο περιεχόμενο στο αρχείο:
wordpress:
image: wordpress:latest
links:
- wordpress_db:mysql
ports:
- 8080:80
wordpress_db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: SECURE_PASSWORDΑποθηκεύστε το αρχείο και κλείστε το.
MariaDB
Προσθέστε το ακόλουθο περιεχόμενο στο αρχείο:
wordpress:
image: wordpress:latest
links:
- wordpress_db:mariadb
ports:
- 8080:80
wordpress_db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: SECURE_PASSWORDΑποθηκεύστε το αρχείο και κλείστε το.
Εκκίνηση των κοντέινερ
Στη συνέχεια, χρησιμοποιήστε το Docker Compose για να εκκινήσετε τα κοντέινερ με την ακόλουθη εντολή:
sudo docker-compose up -dΧρησιμοποιήστε την παρακάτω εντολή για να ελέγξετε αν δημιουργήθηκαν τα κοντέινερ:
sudo docker-compose psΓια να ολοκληρώσετε την εγκατάσταση, μεταβείτε στο κοντέινερ του WordPress μέσω ενός προγράμματος περιήγησης. Μπορείτε να χρησιμοποιήσετε είτε τη διεύθυνση IP του διακομιστή είτε τη διεύθυνση URL του:
http://192.168.0.1:8080http://example.com:8080
Kubernetes για επεκτάσιμες εγκαταστάσεις WordPress
Για μεγαλύτερες εγκαταστάσεις και εγκαταστάσεις παραγωγής, μπορεί να χρησιμοποιηθεί το Kubernetes (K8s). Το Kubernetes σας επιτρέπει να συντονίζετε και να διαχειρίζεστε αυτόματα κοντέινερ WordPress σε πολλούς κόμβους. Η χρήση ενός συμπλέγματος Kubernetes προσφέρει διάφορα πλεονεκτήματα, όπως αυτόματη κλιμάκωση, μηχανισμούς αυτόματης αποκατάστασης και κεντρική διαχείριση πόρων. Ένας τρόπος για να το υλοποιήσετε αυτό είναι με το Helm, έναν διαχειριστή πακέτων για το Kubernetes:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-wordpress bitnami/wordpress --set service.type=LoadBalancerΑυτό επιτρέπει την υλοποίηση ενός WordPress με υψηλή διαθεσιμότητα και δυνατότητα κλιμάκωσης, με εξισορρόπηση φορτίου, αυτόματες ενημερώσεις και υποστήριξη ανακατεύθυνσης σε περίπτωση βλάβης.