Kā uzstādīt WordPress Docker konteineros
Uzziniet, kā palaist WordPress instalāciju Docker konteineros gan manuāli, gan izmantojot Docker Compose. WordPress izstrādātājiem būs noderīgi palaist WordPress Docker konteineros. Docker atvieglo vairāku WordPress konfigurāciju testēšanu un jaunas WordPress instalācijas uzsākšanu, izmantojot tikai dažas vienkāršas komandas.
Prasības
Lai WordPress darbotos nevainojami Docker konteineros, ir nepieciešama jaunākā un atbalstītā Linux distribūcija. Vecākas versijas, piemēram, CentOS 7 vai Ubuntu 14.04, ir novecojušas un tās vajadzētu aizstāt ar modernākām alternatīvām. Ieteicamās iespējas ir šādas:
- Ubuntu 22.04 LTS vai jaunāka versija
- Debian 12 vai jaunāka versija
- Red Hat Enterprise Linux (RHEL) vai AlmaLinux jaunākā versija
Jums ir jābūt instalētam un lietošanai gatavam Docker. Lai varētu izmantot jaunākos drošības un veiktspējas uzlabojumus, minimālā prasība ir Docker 20.10 vai jaunāka versija. Ja vēlaties izmantot Docker Compose, pārliecinieties, ka izmantojat vismaz 2.x versiju, jo vecākas versijas vairs netiek aktīvi uzturētas.
Noderīgas ir pamata prasmes darbā ar komandrindu, kā arī zināšanas par Docker Compose un Docker. Ja plānojat izveidot lielāku vai mērogojamu vidi, ir vērts iepazīties ar Kubernetes, kas nodrošina profesionāla līmeņa konteineru orķestrēšanu.
Kā palaist WordPress Docker konteineros
Veiksmīgai WordPress instalācijai ir trīs sastāvdaļas:
- WordPress programmatūra
- MySQL vai MariaDB datu bāze
- Pēdējie instalācijas soļi tiek veikti pārlūkprogrammā
Turpmākajos piemēros WordPress un MySQL/MariaDB darbosies atsevišķos, savstarpēji savienotos konteineros. Konteineris, kurā darbojas WordPress programmatūra, tiks piesaistīts kādam portam uz servera, lai jūs varētu piekļūt tam, izmantojot pārlūku.
MySQL/MariaDB konteinera darbība
Kad Docker ir palaists, pirmais solis ir datubāzes konfigurēšana. Sāciet ar konteinera ar nosaukumu my-db palaišanu. Jūs varat izmantot vai nu MySQL, vai MariaDB, kas ir tiešs MySQL aizvietotājs.
MySQL
Palaižiet konteineru ar šādu komandu:
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mysql:latestMariaDB
Palaižiet konteineru ar šādu komandu:
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mariadb:latestDatu bāzes izveide
Pēc konteinera izveides jums ir jāizveido datu bāze jūsu WordPress instalācijai.
MySQL
Izveidojiet savienojumu ar nesen izveidoto datu bāzes konteineru, izmantojot šādu komandu:
docker exec -it my-db mysql -u root -pIzveidojiet datu bāzi:
CREATE Database wordpress-db;MariaDB
Izveidojiet savienojumu ar nesen izveidoto datu bāzes konteineru, izmantojot šādu komandu:
docker exec -it my-db mariadb -u root -pIzveidojiet datu bāzi:
CREATE Database wordpress-db;WordPress konteinera darbība
Tālāk palaidiet konteineru, izmantojot oficiālo WordPress attēlu. Tas tiks piesaistīts uzņēmējportam 8080 un savienots ar datu bāzes konteineru.
Divas piezīmes:
- Ja jums ir ugunsmūris, iespējams, būs nepieciešams atļaut piekļuvi 8080. portam.
- Ja portā 8080 jau darbojas cits pakalpojums, varat izvēlēties citu portu uz servera.
Komanda nedaudz atšķiras atkarībā no tā, vai izmantojat MySQL vai MariaDB:
MySQL
Palaižiet WordPress konteineru, izmantojot šādu komandu:
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mysql -d wordpress:latestMariaDB
Palaižiet WordPress konteineru, izmantojot šādu komandu:
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mariadb -d wordpress:latestŠai komandai var pievienot daudzas citas vides mainīgās, ja vēlaties pārrakstīt noklusējuma iestatījumus, tostarp:
-e WORDPRESS_DB_HOST=[hostname]: Noklusējuma vērtība ir saistītā MySQL/MariaDB konteinera IP adrese un ports. Šī mainīgā ļauj izveidot savienojumu ar MySQL/MariaDB datubāzi citā serverī.-e WORDPRESS_DB_USER=[username]: Noklusējuma vērtība irroot.-e WORDPRESS_DB_PASSWORD=[password]: Noklusējuma vērtība irMYSQL_ROOT_PASSWORDvides mainīgais no saistītā MySQL/MariaDB konteinera.-e WORDPRESS_DB_NAME=[name]: Noklusējuma vērtība ir"wordpress".
Lai uzlabotu drošību, varētu būt lietderīgi neizmantot konteinerus noklusējuma tilta tīklā. Tā vietā varat izveidot pielāgotu tīklu:
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Šajā gadījumā jūsu konteineri ir labāk izolēti no citiem, tādējādi samazinot nevēlamu savienojumu risku. Jūs varat arī sīkāk konfigurēt tīkla noteikumus, piemēram, izmantojot pielāgotus ugunsmūra iestatījumus vai ieviešot apgriezto starpniekserveri.
Kā pabeigt instalēšanu pārlūkprogrammā
Lai veiktu pēdējos instalēšanas soļus, jums ir jāatver WordPress konteiners, izmantojot pārlūku.
Iepriekš minētajā piemērā mēs piešķīrām uzņēmējdatorā esošo 8080. portu konteinerā esošajam 80. portam (tīmekļa pakalpojumi). Tas nozīmē, ka tagad varat piekļūt konteineram, izmantojot pārlūku, vai nu pēc servera IP adreses, vai pēc domēna vārda:
http://<server-ip>:8080http://example.com:8080
Atveriet šo URL savā pārlūkprogrammā, izvēlieties instalācijas valodu un noklikšķiniet uz „Turpināt“.

Nākamajā ekrānā redzēsiet ziņojumu, kas sagatavos jūs nākamajam iestatīšanas solim. Lai turpinātu, noklikšķiniet uz pogas „Sāksim! ”.

Tagad ievadiet datu bāzes informāciju, lai varētu izveidot failu wp-config.php “:

Ņemiet vērā, ka, ja nav norādīts citādi, noklusējuma lietotājs ir „root“. Ievadiet izveidotās datu bāzes nosaukumu un izvēlēto paroli. Noklikšķinot uz „Iesniegt“, jūs tiksiet vadīts cauri turpmākajiem instalēšanas soļiem.

- Vietnes nosaukums: Ievadiet savas vietnes nosaukumu.
- Lietotājvārds: Tas ir galvenais administratora lietotājvārds jūsu tīmekļa vietnei. Padoms: Drošības apsvērumu dēļ iesakām neizmantot vārdu „Admin” vai jūsu domēna vārdu/URL.
- Parole: Pirms turpināt, noteikti to pierakstiet.
- Jūsu e-pasts: Šī ir e-pasta adrese, kas saistīta ar administratora kontu.
Tad noklikšķiniet uz pogas „Instalēt WordPress“, lai pabeigtu instalēšanu.

Kad instalēšana būs pabeigta, parādīsies apstiprinājuma ziņojums, un jūs varēsiet pieteikties WordPress.
Kā palaist WordPress ar Docker Compose
Vēl viens veids, kā palaist WordPress, ir izmantot Docker Compose. Uzstādīšanas un lietošanas instrukcijas varat atrast mūsu rakstā par Docker koordinēšanu ar Swarm un Compose. Būtībā šis rīks ļauj vienā failā definēt visus nepieciešamos pakalpojumus un tos palaist vienlaikus.
YAML faila izveide
Vispirms izveidojiet projekta direktoriju un atveriet to:
sudo mkdir wordpress
cd wordpressIzveidojiet YAML failu ar nosaukumu docker-compose.yml, izmantojot šādu komandu:
sudo nano docker-compose.ymlFaila saturs nedaudz atšķiras atkarībā no tā, vai izmantojat MySQL vai MariaDB:
MySQL
Pievienojiet failam šādu saturu:
wordpress:
image: wordpress:latest
links:
- wordpress_db:mysql
ports:
- 8080:80
wordpress_db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: SECURE_PASSWORDSaglabājiet failu un aizveriet to.
MariaDB
Pievienojiet failam šādu saturu:
wordpress:
image: wordpress:latest
links:
- wordpress_db:mariadb
ports:
- 8080:80
wordpress_db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: SECURE_PASSWORDSaglabājiet failu un aizveriet to.
Konteineru palaišana
Tālāk izmantojiet Docker Compose, lai palaistu konteinerus ar šādu komandu:
sudo docker-compose up -dLai pārbaudītu, vai konteineri ir izveidoti, izmantojiet šādu komandu:
sudo docker-compose psLai pabeigtu instalēšanu, atveriet WordPress konteineru pārlūkprogrammā. Varat izmantot vai nu servera IP adresi, vai tā URL:
http://192.168.0.1:8080http://example.com:8080
Kubernetes skalējamiem WordPress izvietojumiem
Lielākām un ražošanas līmeņa konfigurācijām var izmantot Kubernetes (K8s). Kubernetes ļauj koordinēt un automātiski pārvaldīt WordPress konteinerus vairākos mezglos. Kubernetes klastera izmantošana sniedz vairākas priekšrocības, piemēram, automātisku mērogošanu, pašatjaunošanās mehānismus un centralizētu resursu pārvaldību. Viens no veidiem, kā to īstenot, ir izmantot Helm — Kubernetes pakotņu pārvaldnieku:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-wordpress bitnami/wordpress --set service.type=LoadBalancerTas nodrošina augstas pieejamības un skalējamu WordPress risinājumu ar slodzes izlīdzināšanu, automātiskajiem atjauninājumiem un avārijas pārslēgšanās atbalstu.