Μάθετε πώς να εκτελείτε μια εγκατάσταση 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:latest

MariaDB

Ξεκινήστε ένα 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:latest

MariaDB

Ξεκινήστε ένα 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>:8080
  • http://example.com:8080

Ανοίξτε τη διεύθυνση URL στον περιηγητή σας, επιλέξτε τη γλώσσα εγκατάστασης και κάντε κλικ στο «Συνέχεια».

Image: Screenshot showing the WordPress language selection
You can now select your installation language in the browser.

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

Image: Screenshot of the WordPress installation prompt
The WordPress installation prompt informs you about the next setup step.

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

Image: Screenshot of the WordPress database connection
Enter the requested information for your database.

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

Image: Screenshot of the WordPress installation: site info
Enter the requested information about your WordPress site.
  • Τίτλος ιστότοπου: Εισάγετε τον τίτλο του ιστότοπού σας.
  • Όνομα χρήστη: Αυτό είναι το κύριο όνομα χρήστη διαχειριστή για τον ιστότοπό σας. Συμβουλή: Για λόγους ασφαλείας, συνιστούμε να μην χρησιμοποιείτε το «Admin» ή το όνομα τομέα/URL σας.
  • Κωδικός πρόσβασης: Φροντίστε να τον σημειώσετε πριν συνεχίσετε.
  • Το email σας: Αυτή είναι η διεύθυνση email που έχει συνδεθεί με τον λογαριασμό διαχειριστή.

Στη συνέχεια, κάντε κλικ στο κουμπί «Εγκατάσταση WordPress» για να ολοκληρώσετε την εγκατάσταση.

Image: Screenshot of the successful WordPress installation
The success message shows the installation was successful.

Μόλις ολοκληρωθεί η εγκατάσταση, θα εμφανιστεί ένα μήνυμα επιβεβαίωσης και θα μπορείτε να συνδεθείτε στο 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:8080
  • http://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 με υψηλή διαθεσιμότητα και δυνατότητα κλιμάκωσης, με εξισορρόπηση φορτίου, αυτόματες ενημερώσεις και υποστήριξη ανακατεύθυνσης σε περίπτωση βλάβης.

Go to Main Menu