Su­ži­no­ki­te, kaip paleisti „WordPress“ įdiegą „Docker“ kon­t­ei­ne­riuo­se – tiek rankiniu būdu, tiek naudojant „Docker Compose“. „WordPress“ kūrėjams bus naudinga paleisti „WordPress“ „Docker“ kon­t­ei­ne­riuo­se. „Docker“ leidžia lengvai išbandyti įvairias „WordPress“ kon­fi­gū­ra­ci­jas ir paleisti naują „WordPress“ įdiegą vos keliais pa­pras­tais ko­man­do­mis.

Rei­ka­la­vi­mai

Kad „WordPress“ sklan­džiai veiktų „Docker“ kon­t­ei­ne­riuo­se, rei­ka­lin­ga naujausia ir palaikoma „Linux“ dist­ri­bu­ci­ja. Senesnės versijos, pa­vyz­džiui, „CentOS 7“ ar „Ubuntu 14.04“, yra pa­se­nu­sios ir turėtų būti pakeistos šiuo­lai­ki­nė­mis al­ter­na­ty­vo­mis. Re­ko­men­duo­ja­mi variantai:

  • „Ubuntu“ 22.04 LTS arba naujesnė versija
  • Debian 12 arba naujesnė versija
  • Naujausia „Red Hat En­ter­pri­se Linux“ (RHEL) arba „AlmaLinux“ versija

Be to, jūsų kom­piu­te­ry­je turi būti įdiegta ir parengta naudoti „Docker“ programa. Norint pa­si­nau­do­ti nau­jau­siais saugumo ir našumo pa­to­bu­li­ni­mais, būtina turėti bent „Docker“ 20.10 versiją ar naujesnę. Jei norite naudoti „Docker Compose“, įsi­ti­kin­ki­te, kad naudojate bent 2.x versiją, nes senesnės versijos jau nebėra aktyviai pa­lai­ko­mos.

Būtų naudinga turėti pag­rin­di­nių ko­man­di­nės eilutės įgūdžių ir būti su­si­pa­ži­nu­siam su „Docker Compose“ bei „Docker“. Jei pla­nuo­ja­te didesnį ar iš­plės­ti­nį diegimą, verta su­si­pa­žin­ti su „Ku­ber­ne­tes“ – pro­fe­sio­na­laus lygio kon­t­ei­ne­rių ko­or­di­na­vi­mo sprendimu.

Kaip paleisti „WordPress“ „Docker“ kon­t­ei­ne­riuo­se

Sėkmingą „WordPress“ įdiegimą sudaro trys elementai:

  • „WordPress“ prog­ra­mi­nė įranga
  • „MySQL“ arba „MariaDB“ duomenų bazė
  • Pas­ku­ti­niai diegimo veiksmai atliekami nar­šyk­lė­je

Toliau pa­teik­tuo­se pa­vyz­džiuo­se „WordPress“ ir „MySQL/MariaDB“ veiks at­ski­ruo­se, tar­pu­sa­vy­je su­sie­tuo­se kon­t­ei­ne­riuo­se. Kon­t­ei­ne­ris, kuriame veikia „WordPress“ prog­ra­mi­nė įranga, bus susietas su pag­rin­di­nio kom­piu­te­rio prievadu, kad ga­lė­tu­mė­te prie jo pri­si­jung­ti per naršyklę.

MySQL/MariaDB kon­t­ei­ne­rio pa­lei­di­mas

Kai „Docker“ jau veikia, pirmasis žingsnis – su­kon­fi­gū­ruo­ti duomenų bazę. Pradėkite pa­leis­da­mi kon­t­ei­ne­rį, pavadintą my-db“. Galite naudoti „MySQL“ arba „MariaDB“, kuri yra tie­sio­gi­nis „MySQL“ pa­kai­ta­las.

MySQL

Pa­lei­s­ki­te kon­t­ei­ne­rį šia komanda:

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

MariaDB

Pa­lei­s­ki­te kon­t­ei­ne­rį šia komanda:

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

Duomenų bazės kūrimas

Sukūrę kon­t­ei­ne­rį, turite sukurti duomenų bazę savo „WordPress“ įdiegimui.

MySQL

Pri­si­jun­ki­te prie naujai sukurto duomenų bazės kon­t­ei­ne­rio naudodami šią komandą:

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

Sukurti duomenų bazę:

CREATE Database wordpress-db;

MariaDB

Pri­si­jun­ki­te prie naujai sukurto duomenų bazės kon­t­ei­ne­rio naudodami šią komandą:

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

Sukurti duomenų bazę:

CREATE Database wordpress-db;

WordPress kon­t­ei­ne­rio pa­lei­di­mas

Toliau pa­lei­s­ki­te kon­t­ei­ne­rių, naudodami oficialų „WordPress“ atvaizdą. Jis bus pri­skir­tas prie pag­rin­di­nio kom­piu­te­rio 8080 prievado ir susietas su duomenų bazės kon­t­ei­ne­riu.

Dvi pastabos:

  • Jei naudojate ug­nia­sie­nę, gali tekti leisti prieigą prie 8080 prievado.
  • Jei 8080-ajame prievade jau veikia kita paslauga, galite pa­si­rink­ti kitą prievadą serveryje.

Komanda šiek tiek skiriasi pri­klau­so­mai nuo to, ar naudojate „MySQL“, ar „MariaDB“:

MySQL

Pa­lei­s­ki­te „WordPress“ kon­t­ei­ne­rių naudodami šią komandą:

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

MariaDB

Pa­lei­s­ki­te „WordPress“ kon­t­ei­ne­rį naudodami šią komandą:

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

Jei norite pakeisti nu­ma­ty­tuo­sius nu­sta­ty­mus, į šią komandą galite įtraukti daugybę kitų aplinkos kintamųjų, tarp jų:

  • -e WORDPRESS_DB_HOST=[hostname]: Nu­ma­ty­ta­sis nu­sta­ty­mas yra susieto MySQL/MariaDB kon­t­ei­ne­rių IP adresas ir prievadas. Šis kin­ta­ma­sis leidžia pri­si­jung­ti prie MySQL/MariaDB duomenų bazės kitame serveryje.
  • -e WORDPRESS_DB_USER=[username]: Nu­ma­ty­ta­sis nu­sta­ty­mas yra root.
  • -e WORDPRESS_DB_PASSWORD=[password]: Nu­ma­ty­ta­sis nu­sta­ty­mas yra aplinkos kin­ta­ma­sis MYSQL_ROOT_PASSWORD iš susieto MySQL/MariaDB kon­t­ei­ne­rio.
  • -e WORDPRESS_DB_NAME=[name]: Nu­ma­ty­ta­sis nu­sta­ty­mas yra "wordpress".

Siekiant už­tik­rin­ti didesnį saugumą, re­ko­men­duo­ja­ma nevykdyti kon­t­ei­ne­rių nu­ma­ty­ta­me „bridge“ tinkle. Vietoj to galite sukurti savo tinklą:

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

Čia jūsų kon­t­ei­ne­riai yra labiau izoliuoti nuo kitų, todėl sumažėja ne­pa­gei­dau­ja­mų ryšių rizika. Taip pat galite išsamiau kon­fi­gū­ruo­ti tinklo taisykles, pa­vyz­džiui, naudodami pa­si­rink­ti­nius ug­nia­sie­nės nu­sta­ty­mus arba diegdami at­virkš­ti­nį tarpinį serverį.

Kaip užbaigti diegimą nar­šyk­lė­je

Norėdami atlikti pas­ku­ti­nius diegimo veiksmus, turite pri­si­jung­ti prie „WordPress“ kon­t­ei­ne­rių naudodami naršyklę.

Pa­teik­ta­me pavyzdyje pri­sky­rė­me kom­piu­te­rio 8080-ąjį prievadą kon­t­ei­ne­riui pri­klau­san­čiam 80-ajam prievadui (ži­nia­tink­lio pa­slau­goms). Tai reiškia, kad dabar prie kon­t­ei­ne­rio galite pri­si­jung­ti nar­šyk­lė­je naudodami serverio IP adresą arba domeno vardą:

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

Ati­da­ry­ki­te šią nuorodą nar­šyk­lė­je, pa­si­rin­ki­te diegimo kalbą ir spus­te­lė­ki­te „Tęsti“.

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

Kitame ekrane pasirodys pra­ne­ši­mas, in­for­muo­jan­tis apie kitą nustatymo etapą. Norėdami tęsti, spus­te­lė­ki­te mygtuką „Pradėkime! “.

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

Dabar įveskite duomenų bazės in­for­ma­ci­ją, kad būtų galima sukurti wp-config.php failą:

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

At­kreip­ki­te dėmesį, kad, jei ne­nu­ro­dy­ta kitaip, nu­ma­ty­ta­sis var­to­to­jas yra „root“. Įveskite savo sukurtos duomenų bazės pa­va­di­ni­mą ir pa­si­rink­tą slap­ta­žo­dį. Spus­te­lė­ję „Pateikti“ pereisite prie tolesnių diegimo etapų.

Image: Screenshot of the WordPress installation: site info
Enter the requested in­for­ma­tion about your WordPress site.
  • Svetainės pa­va­di­ni­mas: Įveskite savo svetainės pa­va­di­ni­mą.
  • Vartotojo vardas: tai yra pag­rin­di­nis jūsų svetainės ad­mi­nist­ra­to­riaus vartotojo vardas. Patarimas: saugumo su­me­ti­mais re­ko­men­duo­ja­me nenaudoti žodžio „Admin“ arba savo domeno vardo/URL.
  • Slap­ta­žo­dis: Prieš tęsdami būtinai jį už­si­ra­šy­ki­te.
  • Jūsų el. paštas: tai yra su ad­mi­nist­ra­to­riaus paskyra susietas el. pašto adresas.

Tada spus­te­lė­ki­te mygtuką „Įdiegti WordPress“, kad už­baig­tu­mė­te diegimą.

Image: Screenshot of the successful WordPress installation
The success message shows the instal­la­tion was suc­cess­ful.

Baigus diegimą, pasirodys pa­tvir­ti­ni­mo pra­ne­ši­mas, po kurio galėsite pri­si­jung­ti prie „WordPress“.

Kaip paleisti „WordPress“ naudojant „Docker Compose“

„Docker Compose“ nau­do­ji­mas yra dar vienas būdas paleisti „WordPress“. Įdiegimo ir naudojimo inst­ruk­ci­jas rasite mūsų straips­ny­je apie „Docker“ ko­or­di­na­vi­mą naudojant „Swarm“ ir „Compose“. Iš esmės šis įrankis leidžia apibrėžti visas rei­ka­lin­gas paslaugas viename faile ir jas paleisti kartu.

YAML failo kūrimas

Pir­miau­sia sukurkite savo projekto katalogą ir pereikite į jį:

sudo mkdir wordpress
cd wordpress

Sukurkite YAML failą pa­va­di­ni­mu docker-compose.yml naudodami šią komandą:

sudo nano docker-compose.yml

Failo turinys šiek tiek skiriasi pri­klau­so­mai nuo to, ar naudojate „MySQL“, ar „MariaDB“:

MySQL

Į failą įtraukite šį turinį:

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

Iš­sau­go­ki­te failą ir už­da­ry­ki­te jį.

MariaDB

Į failą įtraukite šį turinį:

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

Iš­sau­go­ki­te failą ir už­da­ry­ki­te jį.

Kon­t­ei­ne­rių pa­lei­di­mas

Toliau naudokite „Docker Compose“, kad pa­leis­tu­mė­te kon­t­ei­ne­rius šia komanda:

sudo docker-compose up -d

Naudokite šią komandą, kad pa­tik­rin­tu­mė­te, ar kon­t­ei­ne­riai buvo sukurti:

sudo docker-compose ps

Norėdami užbaigti diegimą, nar­šyk­lė­je ati­da­ry­ki­te „WordPress“ kon­t­ei­ne­rį. Galite naudoti serverio IP adresą arba jo URL adresą:

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

„Ku­ber­ne­tes“ – mastelio keitimui pri­tai­ky­tos „WordPress“ diegimo galimybės

Didesnėms ir ga­my­bi­nėms aplinkoms galima naudoti „Ku­ber­ne­tes“ (K8s). „Ku­ber­ne­tes“ leidžia ko­or­di­nuo­ti ir au­to­ma­tiš­kai valdyti „WordPress“ kon­t­ei­ne­rius keliuose mazguose. „Ku­ber­ne­tes“ klasterio nau­do­ji­mas suteikia keletą privalumų, pa­vyz­džiui, au­to­ma­ti­nį mastelio keitimą, sa­vi­kont­ro­lės me­cha­niz­mus ir cent­ra­li­zuo­tą išteklių valdymą. Vienas iš būdų tai įgy­ven­din­ti – naudoti „Helm“, „Ku­ber­ne­tes“ paketų tvarkyklę:

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

Tai leidžia sukurti itin patikimą ir mastelio keitimą pa­lai­kan­tį „WordPress“ diegimą su apkrovos pa­skirs­ty­mu, au­to­ma­ti­niais at­nau­ji­ni­mais ir avarijų perėmimo funkcija.

Go to Main Menu