Cum să implementați WordPress în containere Docker
Aflați cum să rulați o instalare WordPress în containere Docker, atât manual, cât și cu Docker Compose. Dezvoltatorii WordPress vor găsi utilă rularea WordPress în containere Docker. Docker facilitează testarea mai multor configurații WordPress și pornirea unei noi instalări WordPress cu doar câteva comenzi simple.
Cerințe
Pentru ca WordPress să funcționeze fără probleme în containerele Docker, aveți nevoie de o distribuție Linux actuală și compatibilă. Versiunile mai vechi, precum CentOS 7 sau Ubuntu 14.04, sunt depășite și ar trebui înlocuite cu alternative moderne. Opțiunile recomandate includ:
- Ubuntu 22.04 LTS sau o versiune mai recentă
- Debian 12 sau o versiune mai recentă
- O versiune actuală de Red Hat Enterprise Linux (RHEL) sau AlmaLinux
De asemenea, trebuie să aveți Docker instalat și gata de utilizare. Cerința minimă este Docker 20.10 sau o versiune superioară pentru a beneficia de cele mai recente îmbunătățiri de securitate și performanță. Dacă doriți să utilizați Docker Compose, asigurați-vă că utilizați cel puțin versiunea 2.x, deoarece versiunile mai vechi nu mai sunt întreținute în mod activ.
Sunt utile cunoștințele de bază privind linia de comandă și familiarizarea cu Docker Compose și Docker. Dacă aveți în plan o configurare mai mare sau scalabilă, merită să explorați Kubernetes pentru o orchestrare profesională a containerelor.
Cum să rulezi WordPress în containere Docker
O instalare WordPress reușită constă din trei elemente:
- Software-ul WordPress
- O bază de date MySQL sau MariaDB
- Pașii finali de instalare efectuați într-un browser
În exemplele de mai jos, WordPress și MySQL/MariaDB vor rula în containere separate, conectate între ele. Containerul care rulează software-ul WordPress va fi mapat la un port de pe gazdă, astfel încât să îl puteți accesa prin intermediul unui browser.
Rularea unui container MySQL/MariaDB
Odată ce Docker rulează, primul pas este configurarea bazei de date. Începeți prin a rula un container numit my-db. Puteți utiliza fie MySQL, fie MariaDB, care este un înlocuitor direct pentru MySQL.
MySQL
Porniți un container cu următoarea comandă:
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mysql:latestMariaDB
Porniți un container cu următoarea comandă:
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mariadb:latestCrearea unei baze de date
După crearea containerului, trebuie să creați o bază de date pentru instalarea WordPress.
MySQL
Conectați-vă la containerul de baze de date nou creat utilizând următoarea comandă:
docker exec -it my-db mysql -u root -pCreați o bază de date:
CREATE Database wordpress-db;MariaDB
Conectați-vă la containerul de baze de date nou creat utilizând următoarea comandă:
docker exec -it my-db mariadb -u root -pCreați o bază de date:
CREATE Database wordpress-db;Rularea unui container WordPress
Apoi, rulați un container folosind imaginea oficială WordPress. Acesta va fi mapat la portul gazdă 8080 și conectat la containerul bazei de date.
Două note:
- Dacă aveți un firewall, poate fi necesar să permiteți accesul la portul 8080.
- Dacă un alt serviciu rulează deja pe portul 8080, puteți alege un alt port pe gazdă.
Comanda variază ușor în funcție de faptul dacă utilizați MySQL sau MariaDB:
MySQL
Porniți un container WordPress folosind următoarea comandă:
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mysql -d wordpress:latestMariaDB
Porniți un container WordPress folosind comanda:
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mariadb -d wordpress:latestExistă multe alte variabile de mediu pe care le puteți adăuga la această comandă dacă doriți să suprascrieți setările implicite, inclusiv:
-e WORDPRESS_DB_HOST=[hostname]: Valoarea implicită este adresa IP și portul containerului MySQL/MariaDB conectat. Această variabilă vă permite să vă conectați la o bază de date MySQL/MariaDB de pe un alt server.-e WORDPRESS_DB_USER=[username]: Valoarea implicită esteroot.-e WORDPRESS_DB_PASSWORD=[password]: Valoarea implicită este variabila de mediuMYSQL_ROOT_PASSWORDdin containerul MySQL/MariaDB conectat.-e WORDPRESS_DB_NAME=[name]: Valoarea implicită este"wordpress".
Pentru o securitate îmbunătățită, poate fi util să nu rulați containere pe rețeaua bridge implicită. În schimb, puteți crea o rețea personalizată:
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:latestAici, containerele dvs. sunt mai izolate de celelalte, reducând riscul conexiunilor nedorite. De asemenea, puteți configura regulile de rețea în detaliu, cum ar fi utilizarea setărilor personalizate ale firewall-ului sau implementarea unui proxy invers.
Cum să finalizați instalarea într-un browser
Pentru pașii finali de instalare, trebuie să accesați containerul WordPress folosind un browser.
În exemplul de mai sus, am mapat portul 8080 de pe gazdă la portul 80 (servicii web) din container. Aceasta înseamnă că acum puteți accesa containerul prin browserul dvs. fie prin adresa IP a serverului, fie printr-un nume de domeniu:
http://<server-ip>:8080http://example.com:8080
Accesați adresa URL în browserul dvs., selectați limba de instalare și faceți clic pe Continuare.

Pe ecranul următor, veți vedea un mesaj care vă pregătește pentru următorul pas al configurării. Faceți clic pe butonul „Să începem!” pentru a continua.

Acum, introduceți informațiile din baza de date pentru ca fișierul wp-config.php să poată fi creat:

Rețineți că utilizatorul implicit este „root”, dacă nu se specifică altfel. Introduceți numele bazei de date pe care ați creat-o și parola pe care ați ales-o. Dacă faceți clic pe „Trimiteți”, veți fi ghidat prin pașii următori ai instalării.

- Titlul site-ului: Introduceți titlul site-ului dvs. web.
- Nume de utilizator: Acesta este numele de utilizator principal al administratorului site-ului dvs. web. Sfat: Din motive de securitate, vă recomandăm să nu utilizați „Admin” sau numele domeniului/URL-ul dvs.
- Parolă: Asigurați-vă că notați această informație înainte de a continua.
- Adresa dvs. de e-mail: Aceasta este adresa de e-mail asociată contului de administrator.
Apoi faceți clic pe butonul Instalați WordPress pentru a finaliza instalarea.

Odată ce instalarea este finalizată, veți vedea un mesaj de confirmare și vă veți putea conecta la WordPress.
Cum să rulezi WordPress cu Docker Compose
Utilizarea Docker Compose este o altă modalitate de a rula WordPress. Puteți găsi instrucțiuni de instalare și utilizare în articolul nostru despre orchestrarea Docker cu Swarm și Compose. În esență, instrumentul vă permite să definiți toate serviciile necesare într-un singur fișier și să le porniți împreună.
Crearea fișierului YAML
Mai întâi, creați un director pentru proiectul dvs. și navigați în el:
sudo mkdir wordpress
cd wordpressCreați un fișier YAML numit docker-compose.yml folosind următoarea comandă:
sudo nano docker-compose.ymlConținutul fișierului variază ușor în funcție de faptul dacă utilizați MySQL sau MariaDB:
MySQL
Adăugați următorul conținut în fișier:
wordpress:
image: wordpress:latest
links:
- wordpress_db:mysql
ports:
- 8080:80
wordpress_db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: SECURE_PASSWORDSalvați și închideți fișierul.
MariaDB
Adăugați următorul conținut în fișier:
wordpress:
image: wordpress:latest
links:
- wordpress_db:mariadb
ports:
- 8080:80
wordpress_db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: SECURE_PASSWORDSalvați și închideți fișierul.
Pornirea containerelor
Apoi, utilizați Docker Compose pentru a porni containerele cu următoarea comandă:
sudo docker-compose up -dUtilizați următoarea comandă pentru a verifica dacă containerele au fost create:
sudo docker-compose psPentru a finaliza instalarea, accesați containerul WordPress într-un browser. Puteți utiliza fie adresa IP a serverului, fie adresa URL a acestuia:
http://192.168.0.1:8080http://example.com:8080
Kubernetes pentru implementări WordPress scalabile
Pentru configurații mai mari și de nivel industrial, se poate utiliza Kubernetes (K8s). Kubernetes vă permite să orchestrați și să gestionați automat containerele WordPress pe mai multe noduri. Utilizarea unui cluster Kubernetes oferă mai multe avantaje, cum ar fi scalarea automată, mecanisme de auto-reparare și gestionarea centralizată a resurselor. O modalitate de a implementa acest lucru este cu Helm, un manager de pachete pentru Kubernetes:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-wordpress bitnami/wordpress --set service.type=LoadBalancerAcest lucru permite o implementare WordPress extrem de disponibilă și scalabilă, cu echilibrare a încărcării, actualizări automate și suport pentru failover.