V priebehu rokov sme sa pozreli na niekoľko rôznych systémov na nastavenie lokálnych vývojových prostredí, od aplikácií ako MAMP až po rôzne pracovné postupy Vagrant Vagrants. Vždy hľadám najefektívnejší spôsob vytvárania nových inštancií WordPress, a to ako pre vývoj, tak aj preto, že potrebujem jednoducho replikovateľné prostredie WordPress na testovanie doplnkov a aktualizácií, o ktorých chcem písať.
Dnes by som chcel hovoriť o mojom súčasnom nastavení, ktoré je založené na Docker kontajnerový systém. Pred niekoľkými rokmi som zvažoval použitie Dockera, ale v porovnaní s alternatívami to bolo komplikované, takže som ho dlho nepoužíval. Ale na odporúčanie priateľa som sa nedávno pozrel ešte raz. Nástroje sa značne zlepšili a teraz sú dobrou voľbou pre tých z nás, ktorí nechcú tráviť príliš veľa času hraním sa s našimi nástrojmi.
Bez ďalších okolkov sa teda pozrime na to, ako vytvoriť lokálnu vývojovú inštaláciu WordPress pomocou Docker.
Čo je Docker?
Docker je nástroj na vytváranie a správu kontajnerov. Kontajner je samostatná jednotka softvéru, ktorá obsahuje všetky knižnice a ďalší kód potrebný na spustenie aplikácie.
Je dôležité pochopiť, že kontajner nie je to isté ako virtuálny stroj – kontajnery sú oveľa ľahšie ako virtuálne stroje, „bootujú“ sa oveľa rýchlejšie a sú prenosnejšie. Kontajnery tiež nepotrebujú hosťujúci operačný systém.
Ak chcete používať kontajnery Docker, musíte na svojom počítači nastaviť Docker. Pretože proces nastavenia sa líši v závislosti od operačného systému, ktorý používate, nebudem tu zachádzať do detailov, ale môžete nájsť úplná dokumentácia na stránke Docker.
Budem tiež predpokladať, že viete, ako používať príkazový riadok vo vašom OS.
Vytvorenie lokálneho kontajnera WordPress
Existuje niekoľko spôsobov, ako vytvoriť kontajnery, ale my použijeme vynikajúci nástroj Docker Compose.
Najprv otvorte terminál, vytvorte adresár pre inštaláciu WordPress a prejdite do tohto adresára:
mkdir testing-wordpress && cd testing-wordpress
Ďalej vytvorte súbor, pomocou ktorého povieme Docker Compose, čo má robiť:
dotykový docker-compose.yml
Budeme používať súbor Docker Compose z oficiálnej dokumentácie Compose. Otvorte „docker-compose.yml“ v textovom editore a vložte doň nasledujúci text:
verzia: ‘3’ služby: db: image: mysql:5.7 zväzky: – db_data:/var/lib/mysql reštart: vždy prostredie: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: image: dependon wordpress:najnovšie porty: – “8000:80” reštart: vždy prostredie: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: objemy wordpress: db_data:
Ak vás zaujíma, čo súbor robí, odporúčam vám to prečítajte si dokumentáciu, ale v skratke povie Docker Compose, aby vytvoril dva kontajnery. Prvým je kontajner pre databázu MySQL a druhým je kontajner pre samotný WordPress.
Uložte súbor, vráťte sa do svojho terminálu a spustite tento príkaz:
docker-zložiť -d
Docker stiahne, nakonfiguruje a spustí kontajnery. Môže to trvať niekoľko minút, ale po dokončení budete mať inštanciu WordPress čakajúcu na tejto adrese URL:
http://localhost:8000
Ak chcete zastaviť kontajnery, použite tento príkaz z priečinka projektu:
docker-compose stop
Môžete reštartovať pomocou príkazu „nahor“, ktorý ste použili predtým.
Ak chcete odstrániť kontajner WordPress, ale ponechať databázu nedotknutú:
docker-compose down
A ak chcete odfúknuť WordPress aj databázový kontajner:
docker-compose down –volumes
Po odstránení kontajnerov môžete začať od nuly s rovnakým príkazom „nahor“ ako predtým:
docker-zložiť -d
Pretože kontajnery Docker sú úplne samostatné, môžete vytvoriť ľubovoľný počet inštalácií WordPress: jednoducho vytvorte nový priečinok, skopírujte doň súbor „docker-compose.yml a zopakujte postup.