Docker je spoločnosť, ktorá ponúka vývoj a služby založené na kontajneroch, ktoré vám umožňujú nasadiť Docker pre lokálny vývoj WordPress. Ponúkajú bezplatný softvér, ktorý môžete použiť na využitie kontajnerizácie v procese vývoja. S Dockerom môžete vytvárať svoje stránky WordPress, webové aplikácie, databázy a oveľa viac v kontajneroch, namiesto toho, aby ste si priamo inštalovali potrebné služby do svojho počítača. Prípad použitia, o ktorom chcem hovoriť v tomto príspevku, je použitie Dockeru na lokálny vývoj WordPress. Prevediem vás výhodami, ktoré môžete získať používaním Dockera, a celým procesom inštalácie. Na konci tohto príspevku budete mať:
- Nainštalovaný Docker na vašom počítači a
- Nastavte si svoj prvý lokálny web WordPress pomocou Docker
Páči sa vám tento obsah? Prihláste sa na odber teraz a získajte ďalšie podobné položky priamo do vašej doručenej pošty.
Prečo používať Docker na lokálny vývoj WordPress?
Existuje niekoľko dôvodov, prečo by ste mohli chcieť použiť Docker na lokálny vývoj WordPress. Prešiel som na Docker vo svojom vývoji z mnohých z týchto dôvodov a nepozerám sa späť. V mojich očiach prináša Docker oproti tradičnému vývojovému nastaveniu niekoľko výhod:
- Kontajnery sú stabilné a zaručujú, že zakaždým používate rovnaké služby (verzie, konfigurácie atď.).
- Vývoj v kontajneroch prináša nezávislosť od operačného systému, ktorý používate, a robí vaše aplikácie prenosnými
- Kontajnery môžete nakonfigurovať so súbormi docker-compose tak, aby vyhovovali vašim konkrétnym potrebám (napr. do kontajnera WP som pridal WP-CLI)
- Docker uľahčuje presun webových stránok WordPress z jednej platformy na druhú.
- Docker sa nestará o to, či kontajner beží na Macu, Linuxe alebo Windowse. Služby vo vnútri kontajnera sú vždy rovnaké.
Dovoľte mi vysvetliť moje nastavenie vývoja a zdôvodnenie. Mojím hlavným vývojovým strojom je výkonný počítač so systémom Windows. Je pripojený k externému monitoru a je to stroj, na ktorom pracujem väčšinu času. Sekundárny vývojový stroj v mojom nastavení je MacBook Pro z konca roku 2014. Používam ho väčšinou, keď som na cestách, počas stretnutí alebo prezentácií. Na konci roka 2017 som stál pred rozhodnutím buď upgradovať svoj MacBook, alebo investovať do počítača so systémom Windows. Keďže je počítač so systémom Windows primerane lacnejší a oveľa výkonnejší, bol racionálnou voľbou. S tým prišla výzva na vývoj stránok WordPress na dvoch rôznych platformách, Mac OS a Windows. Keď som skúmal, ako udržať nastavenie miestneho rozvoja čo najflexibilnejšie, narazil som na Docker. Hneď po pár týždňoch som sa do toho zamiloval. Väčšina vývojárov vie, že rôzne verzie PHP, Apache, MySQL alebo nginx môžu spôsobiť záhadné chyby. S Dockerom sa už o ne nemusíte starať. Jednoducho nainštalujete kontajner a spustíte ho. Aby som citoval oficiálna stránka Docker:
Kontajnerová platforma je kompletné riešenie, ktoré umožňuje organizáciám riešiť viaceré problémy v rámci rôznych požiadaviek. Je to viac než len kus technológie a orchestrácie – prináša udržateľné výhody v celej vašej organizácii tým, že poskytuje všetky súčasti, ktoré si podniková prevádzka vyžaduje, vrátane zabezpečenia, riadenia, automatizácie, podpory a certifikácie počas celého životného cyklu aplikácie.
Môžete to posunúť oveľa ďalej, napríklad implementáciou Test Driven Development s Dockerom – ale to je mimo rámca tohto článku.
Ako nainštalovať Docker na počítači Mac, PC alebo Linux
Dosť bolo teórie, zašpiníme si ruky a začnime pracovať s Dockerom. Použijeme zadarmo Docker Community Edition v celom tomto návode. Dôrazne vám odporúčam pozrieť sa do súborov README z Docker Windows alebo Mac pred pokračovaním, pretože existujú niektoré požiadavky, ktoré tu nemôžem uviesť.
Krok #1: Nainštalujte Docker pre lokálny vývoj WordPress na vašom lokálnom počítači
- Ísť do download.docker.com a stiahnite si najnovšiu verziu inštalátora.
- Postupujte podľa sprievodcu inštaláciou a autorizujte aplikáciu Docker.app počas procesu inštalácie zadaním hesla.
- Po dokončení inštalačnej rutiny kliknite na tlačidlo Dokončiť.
To by nemalo byť príliš zložité. Ak počas tohto procesu narazíte na chyby, vždy sa môžete odvolať docs.docker.com pre pomoc. Keďže sa Docker po dokončení inštalácie nespustí automaticky, spustíme démona manuálne. V systéme Windows vyhľadajte Docker a vyberte Docker pre Windows.
Po spustení aplikácie uvidíte, že panel úloh systému Windows v spodnej časti alebo panel systému Mac v hornej časti teraz zobrazuje ikonu Docker. Keď naň umiestnite kurzor myši, zobrazí sa popis s textom „Docker beží“. Dobrá práca!
Krok #2: Prihláste sa do Docker Cloud pomocou svojho používateľského mena a hesla
Svoj bezplatný účet si môžete vytvoriť na https://hub.docker.com/
Konfigurácia Docker pre lokálny vývoj WordPress
Teraz, keď máte spustený Docker, je čas ho nakonfigurovať. Dovoľte mi, aby som vás previedol možnosťami, ktoré máte.
Spustite Docker pri prihlásení. Potrebujete Docker pri každom spustení počítača alebo ho chcete spustiť manuálne? Výber je len na vás.
- Automaticky kontrolovať aktualizácie: Páči sa mi byť na najnovšej stabilnej verzii Dockera. Preto je táto možnosť pre mňa nevyhnutná.
- Odoslať štatistiky používania: Poskytnutie informácií tímu Docker mu môže pomôcť zlepšiť ho. Jeho vypnutie neovplyvní vašu každodennú prácu s Dockerom.
- Vystavte démona na tcp://localhost:2375 bez TLS: Démon Docker sa stará o vytváranie kontajnerov, ktoré budú neskôr obsahovať vaše aplikácie a obrázky, ktoré slúžia ako návrh kontajnerov. Podľa dokumentácie k démonu Docker je „bežné používať port 2375 na nešifrovanú komunikáciu a port 2376 na šifrovanú komunikáciu s démonom“. V závislosti od vašej architektúry možno budete chcieť túto možnosť vypnúť na produkčných systémoch. Pre miestne prostredie si myslím, že to nie je veľký problém.
Na tejto obrazovke nakonfigurujete, kde budú umiestnené vaše vývojové súbory. Mám ten svoj na disku C: v priečinku User home. Musíme Dockerovi povedať, ku ktorým pevným diskom má povolený prístup vo svojich kontajneroch, aby sme mohli pracovať s lokálnymi súbormi tak, ako sme zvyknutí, a aby sa vykonané zmeny prejavili v kontajneroch.
Množstvo hardvéru, ktorý môže Docker použiť, bude závisieť od špecifikácií vášho počítača. Mne s Ryzenom 1700x a 32GB RAM táto konfigurácia funguje bez zádrhelov. Jedna vec, ktorú však môžete vidieť, je, že Docker (v systéme Windows) vyžaduje spustenie Hyper-V. To je tiež načrtnuté v súbore Readme, ktorý som prepojil vyššie, keď som hovoril o predpokladoch inštalácie.
Konfigurácia siete bude závisieť aj od toho, ako je vaša sieť štruktúrovaná. Moja domáca sieť má celkom jednoduchú architektúru (výhody domácej kancelárie), takže som nemusel nič z toho meniť.
Opäť v mojej domácej kancelárii nespúšťam žiadne proxy servery. Ak ho používate, budete ho môcť nakonfigurovať na tejto karte. To zaisťuje, že Docker sa môže pripojiť k internetu, stiahnuť obrázky pre vaše kontajnery a stiahnuť aktualizácie.
Krátko sme hovorili o démonovi Docker vyššie. Úlohou démona je hovoriť s jadrom, zostavovať a spravovať vaše kontajnery a vytvárať systémové volania, ktoré je potrebné vykonať. Pre miestny rozvoj som nenašiel potrebu zmeny konfigurácia démona. Toto bude pravdepodobne iný príbeh o jeho použití v produkčnom prostredí, ale to si nechajme na neskorší článok.
Tu nie je potrebné nič konfigurovať, ale je tu množstvo užitočných odkazov pre prípad, že Docker nefunguje podľa plánu a chcete vyriešiť nejaké problémy.
Niekedy nepomôže nič iné ako reštartovanie Dockera. Toto je miesto, kde by ste spustili reštart alebo dokonca resetovali celú konfiguráciu.
Ako nasadiť svoj prvý lokálny WordPress na Docker
Uistite sa, že je nastavené docker-compose
Teraz, keď je Docker nastavený a nakonfigurovaný, poďme hovoriť o pomocnom nástroji s názvom docker-compose. Aby som citoval dokumentáciu:
„Compose je nástroj na definovanie a spustenie multi-kontajnerových aplikácií Docker. S Compose používate súbor YAML na konfiguráciu služieb vašej aplikácie. Potom jediným príkazom vytvoríte a spustíte všetky služby z vašej konfigurácie.“
Znie to šikovne, však? Na desktopových systémoch ako Mac alebo Windows je docker-compose súčasťou hlavnej aplikácie. Používatelia Linuxu si budú musieť najskôr nainštalovať Docker a potom prejsť na túto stránku, kde si stiahnu pokyny na inštaláciu pre docker-compose: https://docs.docker.com/compose/install/
Získanie pokynov priamo od Dockera je najlepší spôsob, ako zabezpečiť, aby ste dostali ich najnovšiu verziu. Aby ste sa uistili, že je správne nastavený, spustite ho docker-compose -v vo vašom prostredí (CMD, PowerShell, Bash atď.). Výstup by mal byť niečo ako:
„docker-compose -v“ by mal vytlačiť číslo verzie. Porovnajte to s číslom verzie zobrazeným na webovej stránke Docker, aby ste sa uistili, že je najnovšia. Poznámka: Používam docker-compose z WSL v systéme Windows 10, funguje hladko!
Vytvorenie kontajnera pre WordPress
Ak chcete začať vytvárať webové stránky WordPress, budete potrebovať kontajner, ktorý sprístupní požadované služby. Budeme potrebovať aspoň dva kontajnery:
- Webový server (budeme používať Apache)
- Databázový server (budeme používať MySQL)
Ako pravdepodobne viete, webový server a databáza sú základné základy, ktoré potrebujete na spustenie WordPress. Môže byť dosť bolestivé a časovo náročné spravovať len tieto dve služby vo viacerých operačných systémoch, udržiavať synchronizáciu miestneho prostredia, pracovnej oblasti a produkčnej oblasti alebo odstraňovať chyby vo WP, ktoré sú spôsobené nesprávnou konfiguráciou týchto služieb. Keďže moje nastavenie zahŕňa prácu na počítačoch Mac a Windows, chcel som sa tejto bolesti ušetriť. Preto som nastavil vopred vytvorený konfiguračný skript WP pre Docker, ktorý môžete získať tu: https://bitbucket.org/foack/Docker
Toto úložisko obsahuje konfiguračný súbor pre docker-compose, čo je to, čo práve teraz potrebujeme. Pridal som k nemu komentáre, takže si môžete upraviť pokyny tak, aby vyhovovali vašim preferenciám. Ak vytvárate novú lokalitu WP, naklonujte súbor docker-compose.yml z môjho úložiska do priečinka, v ktorom bude uložená nová inštalácia WP. Obsah priečinka by potom vyzeral takto:
Vytvoril som prázdny adresár db_data a vložil som docker-compose.yml na miesto. Ak chcete spustiť existujúcu lokalitu v kontajneri Docker, umiestnite súbor docker-compose.yml z môjho úložiska do koreňového priečinka existujúcej lokality. Obsah priečinka bude vyzerať takto:
Adresár .idea pochádza z môjho IDE PHPStorm; adresár config sa používa na načítanie vlastných súborov php.ini / mysql.cnf do Docker. V shell, cd do adresára a zadajte: docker-zložiť -d
Stane sa nasledovné:
- Docker stiahne obrázky, ktoré ste zadali v súbore docker-compose.yml. V tomto prípade si stiahne MySQL, môj kontajner WordPress (ktorý sa dodáva s WP-CLI) a PhpMyAdmin
- Kontajnery sa spustia a vystavia sa portom, ktoré ste zadali v docker-compose.yml
- Budete môcť importovať databázu WP [e.g., through PhpMyAdmin] a upravte súbor wp-config.php tak, aby sa zhodoval s konfiguráciou databázy z docker-compose.yml (pozri komentáre v súbore na vytvorenie správy)
Váš terminál vám presne ukáže, čo robí:
Docker stiahol obrázok PhpMyAdmin z cloudu. Už mal MySQL a obrázok WordPress bol uložený lokálne z iných projektov. Ak pracujete na existujúcej stránke WordPress, môžete sa na web dostať priamo v prehliadači. Nastavil som súbor docker-compose.yml na počúvanie na http://localhost:8080 – ale môžete to samozrejme zmeniť podľa svojich osobných preferencií. Svoje IDE môžete použiť aj na začatie kódovania na webe, všetky zmeny v súboroch, ktoré vykonáte, sa prejavia v kontajneri Docker v reálnom čase. V tomto bode ste s týmto tutoriálom takmer hotoví a môžete začať pracovať na svojom kóde. Gratulujem!
Poznámka: Ak chcete nainštalovať nový web WordPress do kontajnera Docker, .
Ako používať WP-Cli s Dockerom
Krása používania obrázkov Docker je v tom, že k nim môžete pridávať služby a balíčky. Vo svojom pracovnom postupe používam WP-CLI takmer vo všetkých svojich projektoch – aj keď je to len na inštaláciu alebo funkciu vyhľadávania-nahradenia. Tak som ho pridal do WordPress obrázkov, ktoré mám nastavené v súbore docker-compose. Po vytvorení kontajnera pomocou: docker-zložiť -d získate ID troch kontajnerov, ktoré boli vytvorené. Vo vyššie uvedenom príklade sú to:
- my-new-wp_db_1 -> s odkazom na MySQL
- my-new-wp_wordpress_1 -> odkazovanie na webový server
- my-new-wp_phpmyadmin_1 -> s odkazom na PHPMyAdmin
Pre pohodlie som do obrazu webového servera zahrnul WP-CLI. Takže teraz môžeme stiahnuť najnovšiu verziu WP do kontajnera pomocou: docker exec my-new-wp_wordpress_1 stiahnutie wp core
Ako vidíte, keď pred príkazy WP-CLI pridáte „docker exec your_container_name“, môžete ich spustiť normálne. Pokračujme teda nastavením konfiguračného súboru WordPress wp-config.php v novom kontajneri Docker cez WP-CLI:
docker exec my-new-wp_wordpress_1 wp config create –dbname=wordpress –dbuser=wordpress –dbpass=wordpress –dbhost=db:3306
Tieto databázové hodnoty sme nakonfigurovali v súbore docker-compose.yml, môžete ich zmeniť podľa svojich preferencií. Uistite sa však, že používate presné hodnoty v súbore wp-config.php. Ďalej pristúpime k samotnej inštalácii:
docker exec my-new-wp_wordpress_1 wp core install –url=localhost –title=Example –admin_user=jankoch –admin_password=mypass –[email protected]
A BUM! Vaša stránka je teraz online, gratulujem!
Teraz môžete začať s vývojom vašej čerstvej inštalácie.
Ďalšie čítanie o Docker pre lokálny vývoj WordPress
Ako môžete povedať, tento príspevok pokrýva základné základy, ako začať s Dockerom pre lokálny vývoj WordPress. Samozrejme, s týmito nástrojmi môžete urobiť oveľa viac! Preto som si myslel, že pridám niekoľko odkazov na ďalšie čítanie:
Oficiálna dokumentácia DockerPoužívanie docker-compose v produkčnom prostredíTri prípady použitia pre Docker vo výrobe
Potrebujete pomoc s hosťovaním vašich živých stránok WordPress?
So spravovaným hostingom WordPress od spoločnosti Hostinger odstraňujeme problémy s hosťovaním tým, že automaticky spracovávame všetky aktualizácie doplnkov a platforiem. Vaše obrázky tiež komprimujeme, aby sme pre každého návštevníka získali bleskovú rýchlosť.