Uzziniet, kā palaist WordPress in­sta­lā­ci­ju Docker kon­tei­ne­ros gan manuāli, gan iz­man­to­jot Docker Compose. WordPress iz­strā­dā­tā­jiem būs noderīgi palaist WordPress Docker kon­tei­ne­ros. Docker atvieglo vairāku WordPress kon­fi­gu­rā­ci­ju testēšanu un jaunas WordPress in­sta­lā­ci­jas uzsākšanu, iz­man­to­jot tikai dažas vien­kār­šas komandas.

Prasības

Lai WordPress darbotos ne­vai­no­ja­mi Docker kon­tei­ne­ros, ir ne­pie­cie­ša­ma jaunākā un at­bal­stī­tā Linux dis­tri­bū­ci­ja. Vecākas versijas, piemēram, CentOS 7 vai Ubuntu 14.04, ir no­ve­co­ju­šas un tās vajadzētu aizstāt ar mo­der­nā­kām al­ter­na­tī­vām. Ie­tei­ca­mās iespējas ir šādas:

  • Ubuntu 22.04 LTS vai jaunāka versija
  • Debian 12 vai jaunāka versija
  • Red Hat En­terpri­se Linux (RHEL) vai AlmaLinux jaunākā versija

Jums ir jābūt in­sta­lē­tam un lie­to­ša­nai gatavam Docker. Lai varētu izmantot jaunākos drošības un veikt­spē­jas uz­la­bo­ju­mus, minimālā prasība ir Docker 20.10 vai jaunāka versija. Ja vēlaties izmantot Docker Compose, pār­lie­ci­nie­ties, ka iz­man­to­jat vismaz 2.x versiju, jo vecākas versijas vairs netiek aktīvi uzturētas.

Noderīgas ir pamata prasmes darbā ar ko­man­drin­du, kā arī zināšanas par Docker Compose un Docker. Ja plānojat izveidot lielāku vai mē­ro­go­ja­mu vidi, ir vērts ie­pa­zī­ties ar Ku­ber­ne­tes, kas nodrošina pro­fe­sio­nā­la līmeņa kon­tei­ne­ru or­ķes­trē­ša­nu.

Kā palaist WordPress Docker kon­tei­ne­ros

Veik­smī­gai WordPress in­sta­lā­ci­jai ir trīs sa­stāv­da­ļas:

  • WordPress prog­ram­ma­tū­ra
  • MySQL vai MariaDB datu bāze
  • Pēdējie in­sta­lā­ci­jas soļi tiek veikti pār­lūkprog­ram­mā

Turp­mā­ka­jos piemēros WordPress un MySQL/MariaDB darbosies at­se­viš­ķos, sav­star­pē­ji sa­vie­no­tos kon­tei­ne­ros. Kon­tei­ne­ris, kurā darbojas WordPress prog­ram­ma­tū­ra, tiks pie­sais­tīts kādam portam uz servera, lai jūs varētu piekļūt tam, iz­man­to­jot pārlūku.

MySQL/MariaDB kon­tei­ne­ra darbība

Kad Docker ir palaists, pirmais solis ir datubāzes kon­fi­gu­rē­ša­na. Sāciet ar kon­tei­ne­ra ar nosaukumu my-db palaišanu. Jūs varat izmantot vai nu MySQL, vai MariaDB, kas ir tiešs MySQL aiz­vie­to­tājs.

MySQL

Palaižiet kon­tei­ne­ru ar šādu komandu:

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

MariaDB

Palaižiet kon­tei­ne­ru ar šādu komandu:

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

Datu bāzes izveide

Pēc kon­tei­ne­ra izveides jums ir jāizveido datu bāze jūsu WordPress in­sta­lā­ci­jai.

MySQL

Iz­vei­do­jiet sa­vie­no­ju­mu ar nesen izveidoto datu bāzes kon­tei­ne­ru, iz­man­to­jot šādu komandu:

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

Iz­vei­do­jiet datu bāzi:

CREATE Database wordpress-db;

MariaDB

Iz­vei­do­jiet sa­vie­no­ju­mu ar nesen izveidoto datu bāzes kon­tei­ne­ru, iz­man­to­jot šādu komandu:

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

Iz­vei­do­jiet datu bāzi:

CREATE Database wordpress-db;

WordPress kon­tei­ne­ra darbība

Tālāk palaidiet kon­tei­ne­ru, iz­man­to­jot oficiālo WordPress attēlu. Tas tiks pie­sais­tīts uz­ņē­mēj­por­tam 8080 un savienots ar datu bāzes kon­tei­ne­ru.

Divas piezīmes:

  • Ja jums ir ugunsmū­ris, iespējams, būs ne­pie­cie­šams atļaut piekļuvi 8080. portam.
  • Ja portā 8080 jau darbojas cits pa­kal­po­jums, varat iz­vē­lē­ties citu portu uz servera.

Komanda nedaudz atšķiras atkarībā no tā, vai iz­man­to­jat MySQL vai MariaDB:

MySQL

Palaižiet WordPress kon­tei­ne­ru, iz­man­to­jot šādu komandu:

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

MariaDB

Palaižiet WordPress kon­tei­ne­ru, iz­man­to­jot šā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ār­rak­stīt no­klu­sē­ju­ma ie­sta­tī­ju­mus, tostarp:

  • -e WORDPRESS_DB_HOST=[hostname]: No­klu­sē­ju­ma vērtība ir saistītā MySQL/MariaDB kon­tei­ne­ra IP adrese un ports. Šī mainīgā ļauj izveidot sa­vie­no­ju­mu ar MySQL/MariaDB datubāzi citā serverī.
  • -e WORDPRESS_DB_USER=[username]: No­klu­sē­ju­ma vērtība ir root.
  • -e WORDPRESS_DB_PASSWORD=[password]: No­klu­sē­ju­ma vērtība ir MYSQL_ROOT_PASSWORD vides mainīgais no saistītā MySQL/MariaDB kon­tei­ne­ra.
  • -e WORDPRESS_DB_NAME=[name]: No­klu­sē­ju­ma vērtība ir "wordpress".

Lai uzlabotu drošību, varētu būt liet­de­rī­gi ne­iz­man­tot kon­tei­ne­rus no­klu­sē­ju­ma 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 kon­tei­ne­ri ir labāk izolēti no citiem, tādējādi samazinot nevēlamu sa­vie­no­ju­mu risku. Jūs varat arī sīkāk kon­fi­gu­rēt tīkla no­tei­ku­mus, piemēram, iz­man­to­jot pie­lā­go­tus ugunsmūra ie­sta­tī­ju­mus vai ieviešot apgriezto star­pniek­ser­ve­ri.

Kā pabeigt in­sta­lē­ša­nu pār­lūkprog­ram­mā

Lai veiktu pēdējos in­sta­lē­ša­nas soļus, jums ir jāatver WordPress kon­tei­ners, iz­man­to­jot pārlūku.

Iepriekš minētajā piemērā mēs piešķīrām uz­ņē­mēj­da­to­rā esošo 8080. portu kon­tei­ne­rā esošajam 80. portam (tīmekļa pa­kal­po­ju­mi). Tas nozīmē, ka tagad varat piekļūt kon­tei­ne­ram, iz­man­to­jot pārlūku, vai nu pēc servera IP adreses, vai pēc domēna vārda:

  • http://<server-ip>:8080
  • http://example.com:8080

Atveriet šo URL savā pār­lūkprog­ram­mā, iz­vē­lie­ties in­sta­lā­ci­jas valodu un no­klik­šķi­niet uz „Turpināt“.

Image: Screenshot showing the WordPress language selection
You can now select your in­stal­la­tion language in the browser.

Nākamajā ekrānā redzēsiet ziņojumu, kas sagatavos jūs nākamajam ie­sta­tī­ša­nas solim. Lai turpinātu, no­klik­šķi­niet uz pogas „Sāksim! ”.

Image: Screenshot of the WordPress installation prompt
The WordPress in­stal­la­tion prompt informs you about the next setup step.

Tagad ievadiet datu bāzes in­for­mā­ci­ju, lai varētu izveidot failu wp-config.php “:

Image: Screenshot of the WordPress database connection
Enter the requested in­for­ma­tion for your database.

Ņemiet vērā, ka, ja nav norādīts citādi, no­klu­sē­ju­ma lietotājs ir „root“. Ievadiet iz­vei­do­tās datu bāzes nosaukumu un izvēlēto paroli. No­klik­šķi­not uz „Iesniegt“, jūs tiksiet vadīts cauri turp­mā­ka­jiem in­sta­lē­ša­nas soļiem.

Image: Screenshot of the WordPress installation: site info
Enter the requested in­for­ma­tion about your WordPress site.
  • Vietnes nosaukums: Ievadiet savas vietnes nosaukumu.
  • Lie­to­tājvārds: Tas ir galvenais ad­mi­nis­tra­to­ra lie­to­tājvārds jūsu tīmekļa vietnei. Padoms: Drošības apsvērumu dēļ iesakām ne­iz­man­tot vārdu „Admin” vai jūsu domēna vārdu/URL.
  • Parole: Pirms turpināt, noteikti to pie­rak­stiet.
  • Jūsu e-pasts: Šī ir e-pasta adrese, kas saistīta ar ad­mi­nis­tra­to­ra kontu.

Tad no­klik­šķi­niet uz pogas „Instalēt WordPress“, lai pabeigtu in­sta­lē­ša­nu.

Image: Screenshot of the successful WordPress installation
The success message shows the in­stal­la­tion was successful.

Kad in­sta­lē­ša­na būs pabeigta, pa­rā­dī­sies ap­stip­ri­nā­ju­ma ziņojums, un jūs varēsiet pie­teik­ties WordPress.

Kā palaist WordPress ar Docker Compose

Vēl viens veids, kā palaist WordPress, ir izmantot Docker Compose. Uz­stā­dī­ša­nas un lie­to­ša­nas ins­truk­ci­jas varat atrast mūsu rakstā par Docker koor­di­nē­ša­nu ar Swarm un Compose. Būtībā šis rīks ļauj vienā failā definēt visus ne­pie­cie­ša­mos pa­kal­po­ju­mus un tos palaist vien­lai­kus.

YAML faila izveide

Vispirms iz­vei­do­jiet projekta di­rek­to­ri­ju un atveriet to:

sudo mkdir wordpress
cd wordpress

Iz­vei­do­jiet YAML failu ar nosaukumu docker-compose.yml, iz­man­to­jot šādu komandu:

sudo nano docker-compose.yml

Faila saturs nedaudz atšķiras atkarībā no tā, vai iz­man­to­jat MySQL vai MariaDB:

MySQL

Pie­vie­no­jiet failam šādu saturu:

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

Sa­gla­bā­jiet failu un aizveriet to.

MariaDB

Pie­vie­no­jiet failam šādu saturu:

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

Sa­gla­bā­jiet failu un aizveriet to.

Kon­tei­ne­ru palaišana

Tālāk iz­man­to­jiet Docker Compose, lai palaistu kon­tei­ne­rus ar šādu komandu:

sudo docker-compose up -d

Lai pār­bau­dī­tu, vai kon­tei­ne­ri ir izveidoti, iz­man­to­jiet šādu komandu:

sudo docker-compose ps

Lai pabeigtu in­sta­lē­ša­nu, atveriet WordPress kon­tei­ne­ru pār­lūkprog­ram­mā. Varat izmantot vai nu servera IP adresi, vai tā URL:

  • http://192.168.0.1:8080
  • http://example.com:8080

Ku­ber­ne­tes ska­lē­ja­miem WordPress iz­vie­to­ju­miem

Lielākām un ražošanas līmeņa kon­fi­gu­rā­ci­jām var izmantot Ku­ber­ne­tes (K8s). Ku­ber­ne­tes ļauj koordinēt un au­to­mā­tis­ki pārvaldīt WordPress kon­tei­ne­rus vairākos mezglos. Ku­ber­ne­tes klastera iz­man­to­ša­na sniedz vairākas priekš­ro­cī­bas, piemēram, au­to­mā­tis­ku mē­ro­go­ša­nu, pa­šat­jau­no­ša­nās me­hā­nis­mus un cen­tra­li­zē­tu resursu pār­val­dī­bu. Viens no veidiem, kā to īstenot, ir izmantot Helm — Ku­ber­ne­tes pakotņu pār­val­dnie­ku:

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

Tas nodrošina augstas pie­eja­mī­bas un skalējamu WordPress ri­si­nā­ju­mu ar slodzes iz­lī­dzi­nā­ša­nu, au­to­mā­tis­ka­jiem at­jau­ni­nā­ju­miem un avārijas pār­slēg­ša­nās atbalstu.

Go to Main Menu