Utilizarea containerelor Docker cu WordPress

Publicat: 2022-06-30

Rularea site-urilor web WordPress poate implica utilizarea unui număr mare de configurații și dependențe de software pentru a produce produse de înaltă calitate. Poate v-ați întrebat dacă există o modalitate mai ușoară de a dezvolta acest tip de proiecte la nivel local fără a rula atât de multe pachete software diferite pe propria mașină.

Din fericire, Docker este un produs care oferă o soluție pentru o configurare WordPress mai rapidă și mai fluidă. Mai mult decât o simplă mașină virtuală, Docker oferă containere pentru dezvoltarea site-urilor web WordPress, pe lângă alte aplicații și software. Docker vă poate ajuta, de asemenea, să pregătiți cu ușurință aplicațiile pentru expedierea către alte platforme, simplificându-vă fluxul de lucru.

În acest articol, vom arunca o privire la ce sunt exact containerele și cum afectează acestea dezvoltarea. Apoi vom explica cum să configurați un container pentru dezvoltarea locală WordPress și să-l pregătim pentru producție. Să începem!

Cuprins
1. Ce sunt containerele?
2. Noțiuni introductive cu Docker
3. Utilizarea unui container pentru WordPress (cu Docker)
3.1. Pasul 1: Instalați Compose
3.2. Pasul 2: Definiți proiectul
3.3. Pasul 3: creați un fișier Docker pentru YAML
3.4. Pasul 4: Construiți proiectul
3.5. Pasul 5: Accesați instalarea WordPress
4. Pot expedia o imagine WordPress către serverul de producție?
5. Construiește ceva grozav cu WP Engine

Ce sunt containerele?

Instalarea WordPress nu este o plimbare în parc și poate fi copleșitor să dezvoltați un site web WordPress. În ceea ce privește dezvoltarea web, containerele sunt unități standardizate de software care împachetează codul dvs. și toate dependențele sale, astfel încât implementarea WordPress devine mult mai ușoară. Containerele multiple fac, de asemenea, posibilă realizarea acestui lucru în mod fiabil de la un mediu la altul.

În timp ce Docker este un fel de virtualizare, este diferit de mașinile virtuale obișnuite (VM). În timp ce VM-urile consumă spațiu prețios, adăugând sistemul de operare gazdă la spațiul utilizatorului pentru fiecare aplicație, dezvoltarea în containere împarte acest lucru în toate containerele.

Adevărata frumusețe a lui Docker este că va rula la fel, indiferent de tipul de sistem de operare pe care vă aflați. În plus, puteți rula multe containere Docker pe o mașină care altfel ar avea probleme cu același număr de VM. De asemenea, nu trebuie să vă faceți griji pentru niciuna dintre erorile pe care dezvoltarea locală le poate aduce uneori. Aceasta este altfel cunoscută sub numele de „dar funcționează pe mașina mea” în dezvoltarea de aplicații.

Noțiuni introductive cu Docker

Docker are multe produse diferite, care se combină pentru a crea o suită puternică de instrumente pentru dezvoltatori. Puteți începe cu Docker Engine descărcând gratuit versiunea pentru comunitate:

Va trebui să creați un cont Docker pentru a descărca motorul. Apoi, veți dori să vă familiarizați cu documentația „începeți” a lui Docker. Veți avea opt versiuni diferite de Docker din care să alegeți. Pentru acest exemplu, vom descărca Docker Desktop pentru Mac:

Va trebui să vă conectați la contul Docker pentru a descărca motorul. În plus, veți dori să vă asigurați că aveți o aplicație terminală pe computer gata de funcționare.

Utilizarea unui container pentru WordPress (cu Docker)

Pentru a utiliza containerele Docker pentru a dezvolta un site web WordPress la nivel local, veți folosi și o altă aplicație Docker. Vom discuta cum să instalați Compose într-un moment, dar este important să știți că acest instrument este folosit pentru definirea și rularea aplicațiilor cu mai multe containere în Docker. Atunci, ești gata să sari direct!

Pasul 1: Instalați Compose

Înainte de a vă lansa în acțiune cu Docker, veți dori să vă asigurați că ați instalat Compose. Dacă rulați Docker Desktop pentru Mac sau Windows, Compose vine preinstalat:

Dacă lucrați pe Linux, va trebui să utilizați Terminalul pentru a executa comenzile de instalare. Rețineți că Compose depinde de motorul Docker. Va trebui să aveți ambele instalate pentru a vă angaja în orice dezvoltare WordPress.

Compose utilizează un fișier YAML Ain't Markup Language (YAML) pentru a configura toate serviciile aplicației dvs. Acesta este un mod prietenos cu oamenii de a prezenta serializarea datelor și funcționează cu toate limbajele de programare. În acest caz, fișierul YAML va configura informațiile necesare bazei de date pentru WordPress.

Pasul 2: Definiți proiectul

După ce instalați Docker Engine și Compose instalat, puteți începe primul proiect de dezvoltare WordPress. Va trebui să creați un director de proiect nou, gol, folosind comanda „make directory”:

mkdir new_wordpress/

Directorul pe care l-ați configurat va fi contextul dezvoltării dvs. și va conține doar elementele necesare, inclusiv fișierul docker-compose.yaml. Vom crea acel fișier în pasul următor.

Apoi, puteți trece la noul director folosind următoarea comandă:

cd new_wordpress/

Acum vă veți afla în noul director de proiecte și veți fi gata să vă puneți la treabă.

Pasul 3: creați un fișier Docker pentru YAML

Acum, va trebui să creați un nou fișier docker-compose.yaml. Aceasta va crea noua dvs. instalare WordPress și baza de date MySQL necesară. Fișierul dvs. va conține toate informațiile atât pentru WordPress, cât și pentru baza de date, inclusiv porturile necesare, bazele de date, numele de gazdă și parolele.

Fișierul dvs. YAML va arăta cam așa:

version: '3.3'

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}

Este de remarcat faptul că volumele Docker conțin date persistente și poate doriți să consultați documentația despre volume pentru a ajunge la viteza maximă.

Pasul 4: Construiți proiectul

Acum că ați configurat fișierul YAML, va trebui să executați comanda care va extrage toate imaginile necesare și va configura proiectul WordPress. Din directorul proiectului, veți rula următoarea comandă:

docker-compose up -d

Ar trebui să vedeți acum că Docker „trage” în imaginile MySQL și WordPress.

Merită remarcat că paginile de imagini Docker Hub conțin o mulțime de informații valoroase despre containerele MySQL și WordPress:

Luați în considerare aceste ghiduri de referință all-in-one cu comenzi utile pentru imaginea containerului. Ele merită marcate pentru a fi folosite ulterioară.

Pasul 5: Accesați instalarea WordPress

Deoarece instalați acest site local, va trebui să utilizați portul indicat în fișierul dvs. YAML, mai degrabă decât scriptul tipic WordPress /install.php . Deoarece folosim Docker Desktop pentru Mac în exemplul nostru, vom folosi https://localhost ca adresă IP și vom deschide portul https://localhost:8000 . Acesta a fost portul desemnat în fișierul dvs. YAML.

Probabil că acum vă veți afla pe un teritoriu familiar dacă ați instalat WordPress înainte și puteți finaliza procesul de „instalare faimoasă de cinci minute”:

Este posibil să fie nevoie să acordați câteva minute lui Docker pentru a încărca și inițializa complet imaginile, dar apoi puteți accesa WordPress într-un browser pentru a finaliza pașii standard de instalare.

Este recomandat să „închideți și să curățați” după ce ați finalizat și instalarea. Pentru a face acest lucru, puteți utiliza comanda Docker „jos”. Acest lucru va opri și va elimina containerele, dar va păstra baza de date WordPress. Există destul de multe lucruri de înțeles despre întreruperea, uciderea și oprirea containerelor dacă utilizați Docker, așa că merită să citiți mai multe despre acest subiect.

Pot expedia o imagine WordPress către serverul de producție?

Este important să rețineți că site-urile găzduite pe serverele WP Engine nu au accesul root necesar pentru a configura o nouă imagine Docker. Cu toate acestea, dacă site-ul dvs. se află pe un server de producție, puteți urma pașii de mai jos pentru a vă expedia imaginea.

Acum că ați creat o imagine WordPress local, s-ar putea să vă întrebați cum puteți utiliza aceeași imagine pe un server de producție. Unii dintre pașii pe care tocmai i-ați finalizat vor fi aceiași, dar mai întâi va trebui să creați un depozit privat pe Docker Hub.

Pentru a duce containerul WordPress Docker la producție, va trebui să vă folosiți contul Docker și să trimiteți imaginea într-un depozit privat. De acolo, puteți urma aceiași pași pe care i-am trecut anterior, dar veți trage imaginea din depozit direct pe serverul de producție, modificând informațiile de port din fișierul YAML.

Există o opțiune gratuită pentru utilizarea depozitelor private, dar puteți crea doar una. Din fericire, Docker are multe niveluri de prețuri pentru a se potrivi aproape nevoilor oricărui dezvoltator:

În cele din urmă, dacă doriți să vă îmbunătățiți fluxul de lucru de dezvoltare sau doar vă udați picioarele în acest domeniu, Docker este un instrument excelent pe care îl puteți avea în trusa de resurse. Oferă, de asemenea, o mulțime de documentație utilă și asistență.

Construiește ceva grozav cu motorul WP

Acum că te-ai orientat către Docker, s-ar putea să fii dornic să sari și să începi să dezvolți niște aplicații noi pentru a configura un site WordPress. Rețineți că unul dintre cele mai mari beneficii ale Docker este că veți ști că aplicațiile dvs. nu se vor confrunta cu erori ciudate specifice mașinii.

Aici, la WP Engine, ne place să împărtășim cele mai bune resurse pentru dezvoltatori, astfel încât să puteți crea experiențe digitale incredibile pentru clienții dvs. Indiferent dacă vă aflați în faza de dezvoltare, punere în scenă sau producție a proiectului dvs., avem planuri de găzduire și soluții digitale inovatoare pentru dvs.!

Doriți să aflați și alte modalități de instalare rapidă a aplicațiilor WordPress? Sau poate alte moduri de a configura un site WordPress? Spune-ne gândurile tale în secțiunea de comentarii.