Kaip įdiegti „WordPress“ „Docker“ konteineriuose
Sužinokite, kaip paleisti „WordPress“ įdiegą „Docker“ konteineriuose – tiek rankiniu būdu, tiek naudojant „Docker Compose“. „WordPress“ kūrėjams bus naudinga paleisti „WordPress“ „Docker“ konteineriuose. „Docker“ leidžia lengvai išbandyti įvairias „WordPress“ konfigūracijas ir paleisti naują „WordPress“ įdiegą vos keliais paprastais komandomis.
Reikalavimai
Kad „WordPress“ sklandžiai veiktų „Docker“ konteineriuose, reikalinga naujausia ir palaikoma „Linux“ distribucija. Senesnės versijos, pavyzdžiui, „CentOS 7“ ar „Ubuntu 14.04“, yra pasenusios ir turėtų būti pakeistos šiuolaikinėmis alternatyvomis. Rekomenduojami variantai:
- „Ubuntu“ 22.04 LTS arba naujesnė versija
- Debian 12 arba naujesnė versija
- Naujausia „Red Hat Enterprise Linux“ (RHEL) arba „AlmaLinux“ versija
Be to, jūsų kompiuteryje turi būti įdiegta ir parengta naudoti „Docker“ programa. Norint pasinaudoti naujausiais saugumo ir našumo patobulinimais, būtina turėti bent „Docker“ 20.10 versiją ar naujesnę. Jei norite naudoti „Docker Compose“, įsitikinkite, kad naudojate bent 2.x versiją, nes senesnės versijos jau nebėra aktyviai palaikomos.
Būtų naudinga turėti pagrindinių komandinės eilutės įgūdžių ir būti susipažinusiam su „Docker Compose“ bei „Docker“. Jei planuojate didesnį ar išplėstinį diegimą, verta susipažinti su „Kubernetes“ – profesionalaus lygio konteinerių koordinavimo sprendimu.
Kaip paleisti „WordPress“ „Docker“ konteineriuose
Sėkmingą „WordPress“ įdiegimą sudaro trys elementai:
- „WordPress“ programinė įranga
- „MySQL“ arba „MariaDB“ duomenų bazė
- Paskutiniai diegimo veiksmai atliekami naršyklėje
Toliau pateiktuose pavyzdžiuose „WordPress“ ir „MySQL/MariaDB“ veiks atskiruose, tarpusavyje susietuose konteineriuose. Konteineris, kuriame veikia „WordPress“ programinė įranga, bus susietas su pagrindinio kompiuterio prievadu, kad galėtumėte prie jo prisijungti per naršyklę.
MySQL/MariaDB konteinerio paleidimas
Kai „Docker“ jau veikia, pirmasis žingsnis – sukonfigūruoti duomenų bazę. Pradėkite paleisdami konteinerį, pavadintą my-db“. Galite naudoti „MySQL“ arba „MariaDB“, kuri yra tiesioginis „MySQL“ pakaitalas.
MySQL
Paleiskite konteinerį šia komanda:
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mysql:latestMariaDB
Paleiskite konteinerį šia komanda:
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mariadb:latestDuomenų bazės kūrimas
Sukūrę konteinerį, turite sukurti duomenų bazę savo „WordPress“ įdiegimui.
MySQL
Prisijunkite prie naujai sukurto duomenų bazės konteinerio naudodami šią komandą:
docker exec -it my-db mysql -u root -pSukurti duomenų bazę:
CREATE Database wordpress-db;MariaDB
Prisijunkite prie naujai sukurto duomenų bazės konteinerio naudodami šią komandą:
docker exec -it my-db mariadb -u root -pSukurti duomenų bazę:
CREATE Database wordpress-db;WordPress konteinerio paleidimas
Toliau paleiskite konteinerių, naudodami oficialų „WordPress“ atvaizdą. Jis bus priskirtas prie pagrindinio kompiuterio 8080 prievado ir susietas su duomenų bazės konteineriu.
Dvi pastabos:
- Jei naudojate ugniasienę, gali tekti leisti prieigą prie 8080 prievado.
- Jei 8080-ajame prievade jau veikia kita paslauga, galite pasirinkti kitą prievadą serveryje.
Komanda šiek tiek skiriasi priklausomai nuo to, ar naudojate „MySQL“, ar „MariaDB“:
MySQL
Paleiskite „WordPress“ konteinerių naudodami šią komandą:
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mysql -d wordpress:latestMariaDB
Paleiskite „WordPress“ konteinerį naudodami šią komandą:
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mariadb -d wordpress:latestJei norite pakeisti numatytuosius nustatymus, į šią komandą galite įtraukti daugybę kitų aplinkos kintamųjų, tarp jų:
-e WORDPRESS_DB_HOST=[hostname]: Numatytasis nustatymas yra susieto MySQL/MariaDB konteinerių IP adresas ir prievadas. Šis kintamasis leidžia prisijungti prie MySQL/MariaDB duomenų bazės kitame serveryje.-e WORDPRESS_DB_USER=[username]: Numatytasis nustatymas yraroot.-e WORDPRESS_DB_PASSWORD=[password]: Numatytasis nustatymas yra aplinkos kintamasisMYSQL_ROOT_PASSWORDiš susieto MySQL/MariaDB konteinerio.-e WORDPRESS_DB_NAME=[name]: Numatytasis nustatymas yra"wordpress".
Siekiant užtikrinti didesnį saugumą, rekomenduojama nevykdyti konteinerių numatytame „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ų konteineriai yra labiau izoliuoti nuo kitų, todėl sumažėja nepageidaujamų ryšių rizika. Taip pat galite išsamiau konfigūruoti tinklo taisykles, pavyzdžiui, naudodami pasirinktinius ugniasienės nustatymus arba diegdami atvirkštinį tarpinį serverį.
Kaip užbaigti diegimą naršyklėje
Norėdami atlikti paskutinius diegimo veiksmus, turite prisijungti prie „WordPress“ konteinerių naudodami naršyklę.
Pateiktame pavyzdyje priskyrėme kompiuterio 8080-ąjį prievadą konteineriui priklausančiam 80-ajam prievadui (žiniatinklio paslaugoms). Tai reiškia, kad dabar prie konteinerio galite prisijungti naršyklėje naudodami serverio IP adresą arba domeno vardą:
http://<server-ip>:8080http://example.com:8080
Atidarykite šią nuorodą naršyklėje, pasirinkite diegimo kalbą ir spustelėkite „Tęsti“.

Kitame ekrane pasirodys pranešimas, informuojantis apie kitą nustatymo etapą. Norėdami tęsti, spustelėkite mygtuką „Pradėkime! “.

Dabar įveskite duomenų bazės informaciją, kad būtų galima sukurti wp-config.php failą:

Atkreipkite dėmesį, kad, jei nenurodyta kitaip, numatytasis vartotojas yra „root“. Įveskite savo sukurtos duomenų bazės pavadinimą ir pasirinktą slaptažodį. Spustelėję „Pateikti“ pereisite prie tolesnių diegimo etapų.

- Svetainės pavadinimas: Įveskite savo svetainės pavadinimą.
- Vartotojo vardas: tai yra pagrindinis jūsų svetainės administratoriaus vartotojo vardas. Patarimas: saugumo sumetimais rekomenduojame nenaudoti žodžio „Admin“ arba savo domeno vardo/URL.
- Slaptažodis: Prieš tęsdami būtinai jį užsirašykite.
- Jūsų el. paštas: tai yra su administratoriaus paskyra susietas el. pašto adresas.
Tada spustelėkite mygtuką „Įdiegti WordPress“, kad užbaigtumėte diegimą.

Baigus diegimą, pasirodys patvirtinimo pranešimas, po kurio galėsite prisijungti prie „WordPress“.
Kaip paleisti „WordPress“ naudojant „Docker Compose“
„Docker Compose“ naudojimas yra dar vienas būdas paleisti „WordPress“. Įdiegimo ir naudojimo instrukcijas rasite mūsų straipsnyje apie „Docker“ koordinavimą naudojant „Swarm“ ir „Compose“. Iš esmės šis įrankis leidžia apibrėžti visas reikalingas paslaugas viename faile ir jas paleisti kartu.
YAML failo kūrimas
Pirmiausia sukurkite savo projekto katalogą ir pereikite į jį:
sudo mkdir wordpress
cd wordpressSukurkite YAML failą pavadinimu docker-compose.yml naudodami šią komandą:
sudo nano docker-compose.ymlFailo turinys šiek tiek skiriasi priklausomai 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_PASSWORDIšsaugokite failą ir uždarykite 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_PASSWORDIšsaugokite failą ir uždarykite jį.
Konteinerių paleidimas
Toliau naudokite „Docker Compose“, kad paleistumėte konteinerius šia komanda:
sudo docker-compose up -dNaudokite šią komandą, kad patikrintumėte, ar konteineriai buvo sukurti:
sudo docker-compose psNorėdami užbaigti diegimą, naršyklėje atidarykite „WordPress“ konteinerį. Galite naudoti serverio IP adresą arba jo URL adresą:
http://192.168.0.1:8080http://example.com:8080
„Kubernetes“ – mastelio keitimui pritaikytos „WordPress“ diegimo galimybės
Didesnėms ir gamybinėms aplinkoms galima naudoti „Kubernetes“ (K8s). „Kubernetes“ leidžia koordinuoti ir automatiškai valdyti „WordPress“ konteinerius keliuose mazguose. „Kubernetes“ klasterio naudojimas suteikia keletą privalumų, pavyzdžiui, automatinį mastelio keitimą, savikontrolės mechanizmus ir centralizuotą išteklių valdymą. Vienas iš būdų tai įgyvendinti – naudoti „Helm“, „Kubernetes“ paketų tvarkyklę:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-wordpress bitnami/wordpress --set service.type=LoadBalancerTai leidžia sukurti itin patikimą ir mastelio keitimą palaikantį „WordPress“ diegimą su apkrovos paskirstymu, automatiniais atnaujinimais ir avarijų perėmimo funkcija.