# Πώς να εγκαταστήσετε το 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](https://www.ionos.com/el-gr/digitalguide/diakomistis/technognosia/debian-to-katholiko-logismiko-systimatos/) ή νεότερη έκδοση
- Μια τρέχουσα έκδοση του Red Hat Enterprise Linux (RHEL) ή του AlmaLinux

Πρέπει επίσης να έχετε [εγκαταστήσει το Docker](https://www.ionos.com/el-gr/digitalguide/diakomistis/rythmiseis/ekpaideytiko-seminario-gia-to-docker-egkatastasi-kai-prota-bimata/) και να είναι έτοιμο για χρήση. Η ελάχιστη απαίτηση είναι το Docker **20.10 ή νεότερη έκδοση**, ώστε να επωφεληθείτε από τις πιο πρόσφατες βελτιώσεις στην ασφάλεια και την απόδοση. Αν θέλετε να χρησιμοποιήσετε το Docker Compose, βεβαιωθείτε ότι χρησιμοποιείτε τουλάχιστον την έκδοση 2.x, καθώς οι παλαιότερες εκδόσεις δεν υποστηρίζονται πλέον ενεργά.

Είναι χρήσιμο να διαθέτετε βασικές γνώσεις χρήσης της γραμμής εντολών και [να είστε εξοικειωμένοι με τα Docker Compose](https://www.ionos.com/el-gr/digitalguide/diakomistis/rythmiseis/ekpaideytiko-seminario-gia-to-docker-compose/) και Docker. Αν σχεδιάζετε μια μεγαλύτερη ή επεκτάσιμη εγκατάσταση, αξίζει να εξερευνήσετε το Kubernetes για συντονισμό κοντέινερ επαγγελματικού επιπέδου.

## Πώς να εκτελέσετε το WordPress σε κοντέινερ Docker

Μια επιτυχημένη εγκατάσταση του WordPress αποτελείται από τρία στοιχεία:

- Το λογισμικό WordPress
- Μια βάση δεδομένων MySQL ή MariaDB
- Τα τελικά βήματα εγκατάστασης ολοκληρώνονται σε ένα πρόγραμμα περιήγησης

Στα παρακάτω παραδείγματα, το WordPress και το MySQL/MariaDB θα εκτελούνται σε ξεχωριστά, συνδεδεμένα κοντέινερ. Το κοντέινερ που εκτελεί το λογισμικό WordPress θα αντιστοιχιστεί σε μια θύρα του κεντρικού υπολογιστή, ώστε να μπορείτε να έχετε πρόσβαση σε αυτό μέσω ενός προγράμματος περιήγησης.

### Εκτέλεση ενός κοντέινερ MySQL/MariaDB

Μόλις ξεκινήσει το Docker, το πρώτο βήμα είναι να ρυθμίσετε τη βάση δεδομένων. Ξεκινήστε εκτελώντας ένα κοντέινερ με το όνομα `my-db`. Μπορείτε να χρησιμοποιήσετε είτε το MySQL είτε το MariaDB, το οποίο αποτελεί άμεσο υποκατάστατο του MySQL.

#### MySQL

Ξεκινήστε ένα container με την ακόλουθη εντολή:

```none
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mysql:latest
```

#### MariaDB

Ξεκινήστε ένα container με την ακόλουθη εντολή:

```none
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mariadb:latest
```

Note Φροντίστε να χρησιμοποιείτε πάντα έναν ασφαλή κωδικό πρόσβασης για τη βάση δεδομένων σας. Η αποθήκευση κωδικών πρόσβασης ως μεταβλητών περιβάλλοντος μπορεί επίσης να αποτελέσει πιθανό κίνδυνο για την ασφάλεια. Αντ’ αυτού, συνιστάται να χρησιμοποιείτε ένα **Docker Secret** ή ένα ασφαλές αρχείο ρυθμίσεων.

### Δημιουργία βάσης δεδομένων

Αφού δημιουργήσετε το container σας, πρέπει να δημιουργήσετε μια βάση δεδομένων για την εγκατάσταση του WordPress.

#### MySQL

Συνδεθείτε στο container της βάσης δεδομένων που μόλις δημιουργήσατε χρησιμοποιώντας την ακόλουθη εντολή:

```none
docker exec -it my-db mysql -u root -p
```

Δημιουργία βάσης δεδομένων:

```none
CREATE Database wordpress-db;
```

#### MariaDB

Συνδεθείτε στο container της βάσης δεδομένων που μόλις δημιουργήσατε χρησιμοποιώντας την ακόλουθη εντολή:

```none
docker exec -it my-db mariadb -u root -p
```

Δημιουργία βάσης δεδομένων:

```none
CREATE Database wordpress-db;
```

### Εκτέλεση ενός κοντέινερ WordPress

Στη συνέχεια, εκτελέστε ένα κοντέινερ χρησιμοποιώντας την επίσημη εικόνα του WordPress. Θα αντιστοιχιστεί στη θύρα 8080 του κεντρικού υπολογιστή και θα συνδεθεί με το κοντέινερ της βάσης δεδομένων.

Δύο σημειώσεις:

- Εάν διαθέτετε τείχος προστασίας, ίσως χρειαστεί να επιτρέψετε την πρόσβαση στη θύρα 8080.
- Εάν μια άλλη υπηρεσία εκτελείται ήδη στη θύρα 8080, μπορείτε να επιλέξετε μια διαφορετική θύρα στον κεντρικό υπολογιστή.

Η εντολή διαφέρει ελαφρώς ανάλογα με το αν χρησιμοποιείτε MySQL ή MariaDB:

#### MySQL

Ξεκινήστε ένα container WordPress χρησιμοποιώντας την ακόλουθη εντολή:

```none
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mysql -d wordpress:latest
```

#### MariaDB

Ξεκινήστε ένα container WordPress χρησιμοποιώντας την εντολή:

```none
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. Αντ’ αυτού, μπορείτε να δημιουργήσετε ένα προσαρμοσμένο δίκτυο:

```none
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](https://www.ionos.com/el-gr/digitalguide/fileadmin/_processed_/1/e/csm_wp-docker-choose-language_151c6541cf.webp "Screenshot showing the WordPress language selection")](https://www.ionos.com/el-gr/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-choose-language.png) You can now select your installation language in the browser. Στην επόμενη οθόνη, θα δείτε ένα μήνυμα που σας προετοιμάζει για το επόμενο βήμα της εγκατάστασης. Κάντε κλικ στο κουμπί **«Πάμε!»** για να συνεχίσετε.

[![Image: Screenshot of the WordPress installation prompt](https://www.ionos.com/el-gr/digitalguide/fileadmin/_processed_/e/1/csm_wp-docker-note_8a0a5ea326.webp "Screenshot of the WordPress installation prompt")](https://www.ionos.com/el-gr/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-note.png) The WordPress installation prompt informs you about the next setup step. Τώρα, εισάγετε τα στοιχεία της βάσης δεδομένων σας, ώστε να δημιουργηθεί το αρχείο `wp-config.php`:

[![Image: Screenshot of the WordPress database connection](https://www.ionos.com/el-gr/digitalguide/fileadmin/_processed_/c/3/csm_wp-docker-db-info_5f25200edc.webp "Screenshot of the WordPress database connection")](https://www.ionos.com/el-gr/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-db-info.png) Enter the requested information for your database. Σημειώστε ότι ο προεπιλεγμένος χρήστης είναι ο «root», εκτός αν ορίζεται διαφορετικά. Εισαγάγετε το όνομα της βάσης δεδομένων που δημιουργήσατε και τον κωδικό πρόσβασης που επιλέξατε. Πατώντας το κουμπί «Υποβολή» θα οδηγηθείτε στα επόμενα βήματα της εγκατάστασης.

[![Image: Screenshot of the WordPress installation: site info](https://www.ionos.com/el-gr/digitalguide/fileadmin/_processed_/9/2/csm_wp-docker-page-info_369afff846.webp "Screenshot of the WordPress installation: site info")](https://www.ionos.com/el-gr/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-page-info.png) Enter the requested information about your WordPress site. - **Τίτλος ιστότοπου:** Εισάγετε τον τίτλο του ιστότοπού σας.
- **Όνομα χρήστη:** Αυτό είναι το κύριο όνομα χρήστη διαχειριστή για τον ιστότοπό σας. Συμβουλή: Για λόγους ασφαλείας, συνιστούμε **να μην** χρησιμοποιείτε το «Admin» ή το όνομα τομέα/URL σας.
- **Κωδικός πρόσβασης:** Φροντίστε να τον σημειώσετε πριν συνεχίσετε.
- **Το email σας:** Αυτή είναι η διεύθυνση email που έχει συνδεθεί με τον λογαριασμό διαχειριστή.

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

[![Image: Screenshot of the successful WordPress installation](https://www.ionos.com/el-gr/digitalguide/fileadmin/_processed_/6/9/csm_wp-docker-success_ffbb3fccf5.webp "Screenshot of the successful WordPress installation")](https://www.ionos.com/el-gr/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-success.png) The success message shows the installation was successful. Μόλις ολοκληρωθεί η εγκατάσταση, θα εμφανιστεί ένα μήνυμα επιβεβαίωσης και θα μπορείτε να συνδεθείτε στο WordPress.

## Πώς να εκτελέσετε το WordPress με το Docker Compose

Η χρήση του Docker Compose είναι ένας άλλος τρόπος για να εκτελέσετε το WordPress. Μπορείτε να βρείτε οδηγίες εγκατάστασης και χρήσης στο άρθρο μας σχετικά με τον συντονισμό του Docker με το Swarm και το Compose. Ουσιαστικά, το εργαλείο σας επιτρέπει να ορίσετε όλες τις απαιτούμενες υπηρεσίες σε ένα μόνο αρχείο και να τις εκκινήσετε ταυτόχρονα.

### Δημιουργία του αρχείου YAML

Πρώτα, δημιουργήστε έναν κατάλογο για το έργο σας και μεταβείτε σε αυτόν:

```none
sudo mkdir wordpress
cd wordpress
```

Δημιουργήστε ένα αρχείο YAML με το όνομα `docker-compose.yml` χρησιμοποιώντας την ακόλουθη εντολή:

```none
sudo nano docker-compose.yml
```

Το περιεχόμενο του αρχείου διαφέρει ελαφρώς ανάλογα με το αν χρησιμοποιείτε MySQL ή MariaDB:

#### MySQL

Προσθέστε το ακόλουθο περιεχόμενο στο αρχείο:

```none
wordpress:
    image: wordpress:latest
    links:
        - wordpress_db:mysql
    ports:
        - 8080:80
wordpress_db:
    image: mysql
    environment:
        MYSQL_ROOT_PASSWORD: SECURE_PASSWORD
```

Αποθηκεύστε το αρχείο και κλείστε το.

#### MariaDB

Προσθέστε το ακόλουθο περιεχόμενο στο αρχείο:

```none
wordpress:
    image: wordpress:latest
    links:
        - wordpress_db:mariadb
    ports:
        - 8080:80
wordpress_db:
    image: mariadb
    environment:
        MYSQL_ROOT_PASSWORD: SECURE_PASSWORD
```

Αποθηκεύστε το αρχείο και κλείστε το.

### Εκκίνηση των κοντέινερ

Στη συνέχεια, χρησιμοποιήστε το Docker Compose για να εκκινήσετε τα κοντέινερ με την ακόλουθη εντολή:

```none
sudo docker-compose up -d
```

Χρησιμοποιήστε την παρακάτω εντολή για να ελέγξετε αν δημιουργήθηκαν τα κοντέινερ:

```none
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:

```none
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-wordpress bitnami/wordpress --set service.type=LoadBalancer
```

Αυτό επιτρέπει την υλοποίηση ενός WordPress με υψηλή διαθεσιμότητα και δυνατότητα κλιμάκωσης, με [εξισορρόπηση φορτίου](https://www.ionos.com/el-gr/digitalguide/diakomistis/technognosia/exisorropites-fortioy-katanomi-toy-fortoy-ergasias-ton-diakomiston/), αυτόματες ενημερώσεις και υποστήριξη ανακατεύθυνσης σε περίπτωση βλάβης.


This is a markdown version of: [https://www.ionos.com/el-gr/digitalguide/diakomistis/technognosia/wordpress-se-konteiner-docker/](https://www.ionos.com/el-gr/digitalguide/diakomistis/technognosia/wordpress-se-konteiner-docker/) for AI/LLM consumption.