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:latest

MariaDB

Porniți un container cu următoarea comandă:

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

Crearea 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 -p

Creaț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 -p

Creaț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:latest

MariaDB

Porniți un container WordPress folosind comanda:

sudo docker run --name my-wordpress -p 8080:80 --link my-db:mariadb -d wordpress:latest

Există 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ă este root.
  • -e WORDPRESS_DB_PASSWORD=[password]: Valoarea implicită este variabila de mediu MYSQL_ROOT_PASSWORD din 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:latest

Aici, 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>:8080
  • http://example.com:8080

Accesați adresa URL în browserul dvs., selectați limba de instalare și faceți clic pe Continuare.

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

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.

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

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

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

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.

Imagine: Screenshot of the WordPress installation: site info
Enter the requested information about your WordPress site.
  • 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.

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

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 wordpress

Creați un fișier YAML numit docker-compose.yml folosind următoarea comandă:

sudo nano docker-compose.yml

Conț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_PASSWORD

Salvaț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_PASSWORD

Salvaț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 -d

Utilizați următoarea comandă pentru a verifica dacă containerele au fost create:

sudo docker-compose ps

Pentru 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:8080
  • http://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=LoadBalancer

Acest lucru permite o implementare WordPress extrem de disponibilă și scalabilă, cu echilibrare a încărcării, actualizări automate și suport pentru failover.

Mergi la meniul principal