Naučte sa, ako spustiť inštaláciu WordPress v kontajneroch Docker, a to ručne aj pomocou Docker Compose. Vývojári WordPressu ocenia možnosť spustiť WordPress v kontajneroch Docker. Docker uľahčuje testovanie viacerých konfigurácií WordPressu a spustenie novej inštalácie WordPressu pomocou niekoľkých jednoduchých príkazov.

Požiadavky

Aby WordPress fungoval v kontajneroch Docker bez problémov, potrebujete aktuálnu a podporovanú distribúciu Linuxu. Staršie verzie, ako CentOS 7 alebo Ubuntu 14.04, sú zastarané a mali by byť nahradené modernými alternatívami. Odporúčané možnosti zahŕňajú:

  • Ubuntu 22.04 LTS alebo novší
  • Debian 12 alebo novší
  • Aktuálna verzia Red Hat Enterprise Linux (RHEL) alebo AlmaLinux

Musíte mať tiež nainštalovaný a pripravený na použitie Docker. Minimálnou požiadavkou je Docker 20.10 alebo vyšší, aby ste mohli využívať najnovšie vylepšenia v oblasti bezpečnosti a výkonu. Ak chcete používať Docker Compose, uistite sa, že používate aspoň verziu 2.x, pretože staršie verzie už nie sú aktívne udržiavané.

Základné znalosti príkazového riadku a oboznámenosť s Docker Compose a Docker sú užitočné. Ak plánujete väčšiu alebo škálovateľnú konfiguráciu, stojí za to preskúmať Kubernetes pre profesionálnu koordináciu kontajnerov.

Ako spustiť WordPress v kontajneroch Docker

Úspešná inštalácia WordPressu sa skladá z troch prvkov:

  • Softvér WordPress
  • Databáza MySQL alebo MariaDB
  • Posledné kroky inštalácie dokončené v prehliadači

V nižšie uvedených príkladoch budú WordPress a MySQL/MariaDB bežať v samostatných prepojených kontajneroch. Kontajner, v ktorom beží softvér WordPress, bude priradený k portu na hostiteľskom počítači, aby ste k nemu mali prístup prostredníctvom prehliadača.

Spustenie kontajnera MySQL/MariaDB

Po spustení Dockeru je prvým krokom nastavenie databázy. Začnite spustením kontajnera s názvom my-db. Môžete použiť buď MySQL alebo MariaDB, ktorý je priamou náhradou za MySQL.

MySQL

Spustite kontajner pomocou nasledujúceho príkazu:

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

MariaDB

Spustite kontajner pomocou nasledujúceho príkazu:

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

Vytvorenie databázy

Po vytvorení kontajnera je potrebné vytvoriť databázu pre inštaláciu WordPress.

MySQL

Pripojte sa k novo vytvorenému kontajneru databázy pomocou nasledujúceho príkazu:

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

Vytvorte databázu:

CREATE Database wordpress-db;

MariaDB

Pripojte sa k novo vytvorenému kontajneru databázy pomocou nasledujúceho príkazu:

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

Vytvorte databázu:

CREATE Database wordpress-db;

Spustenie kontajnera WordPress

Ďalej spustite kontajner pomocou oficiálneho obrazu WordPress. Bude priradený k hostiteľskému portu 8080 a prepojený s kontajnerom databázy.

Dve poznámky:

  • Ak máte firewall, možno budete musieť povoliť prístup k portu 8080.
  • Ak na porte 8080 už beží iná služba, môžete na hostiteľskom počítači zvoliť iný port.

Príkaz sa mierne líši v závislosti od toho, či používate MySQL alebo MariaDB:

MySQL

Spustite kontajner WordPress pomocou nasledujúceho príkazu:

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

MariaDB

Spustite kontajner WordPress pomocou príkazu:

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

Existuje mnoho ďalších premenných prostredia, ktoré môžete pridať k tomuto príkazu, ak chcete prepisovať predvolené nastavenia, vrátane:

  • -e WORDPRESS_DB_HOST=[hostname]: Predvolená hodnota je IP adresa a port prepojeného kontajnera MySQL/MariaDB. Táto premenná vám umožňuje pripojiť sa k databáze MySQL/MariaDB na inom serveri.
  • -e WORDPRESS_DB_USER=[username]: Predvolená hodnota je root.
  • -e WORDPRESS_DB_PASSWORD=[password]: Predvolená hodnota je premenná prostredia MYSQL_ROOT_PASSWORD z prepojeného kontajnera MySQL/MariaDB.
  • -e WORDPRESS_DB_NAME=[name]: Predvolená hodnota je "wordpress".

Pre zvýšenie bezpečnosti môže byť užitočné nespúšťať kontajnery na predvolenej mostovej sieti. Namiesto toho môžete vytvoriť vlastnú sieť:

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

Tu sú vaše kontajnery viac izolované od ostatných, čím sa znižuje riziko nežiaducich pripojení. Môžete tiež podrobnejšie konfigurovať sieťové pravidlá, napríklad pomocou vlastných nastavení brány firewall alebo nasadením reverzného proxy servera.

Ako dokončiť inštaláciu v prehliadači

Pre posledné kroky inštalácie je potrebné otvoriť kontajner WordPress pomocou prehliadača.

V uvedenom príklade sme priradili port 8080 na hostiteľskom počítači k portu 80 (webové služby) v kontajneri. To znamená, že teraz môžete pristupovať ku kontajneru prostredníctvom prehliadača buď cez IP adresu servera, alebo cez doménové meno:

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

Navštívte adresu URL vo vašom prehliadači, vyberte jazyk inštalácie a kliknite na tlačidlo Pokračovať.

Obrázok: Screenshot showing the WordPress language selection
You can now select your installation language in the browser.

Na ďalšej obrazovke sa zobrazí správa, ktorá vás pripraví na ďalší krok nastavenia. Kliknutím na tlačidlo Poďme na to! pokračujte.

Obrázok: Screenshot of the WordPress installation prompt
The WordPress installation prompt informs you about the next setup step.

Teraz zadajte informácie o databáze, aby bolo možné vytvoriť súbor wp-config.php:

Obrázok: Screenshot of the WordPress database connection
Enter the requested information for your database.

Upozorňujeme, že predvolený používateľ je „root“, pokiaľ nie je uvedené inak. Zadajte názov databázy, ktorú ste vytvorili, a heslo, ktoré ste si zvolili. Kliknutím na „Odoslať“ budete prevedení ďalšími krokmi inštalácie.

Obrázok: Screenshot of the WordPress installation: site info
Enter the requested information about your WordPress site.
  • Názov stránky: Zadajte názov svojej webovej stránky.
  • Používateľské meno: Toto je primárne používateľské meno správcu vašej webovej stránky. Tip: Z bezpečnostných dôvodov odporúčame nepoužívať „Admin“ ani názov vašej domény/URL.
  • Heslo: Nezabudnite si ho zapísať, než budete pokračovať.
  • Váš e-mail: Toto je e-mailová adresa spojená s administrátorským účtom.

Potom kliknite na tlačidlo Inštalovať WordPress, aby ste dokončili inštaláciu.

Obrázok: Screenshot of the successful WordPress installation
The success message shows the installation was successful.

Po dokončení inštalácie sa zobrazí potvrdzujúca správa a potom sa môžete prihlásiť do WordPressu.

Ako spustiť WordPress s Docker Compose

Ďalším spôsobom, ako spustiť WordPress, je použitie nástroja Docker Compose. Pokyny na inštaláciu a používanie nájdete v našom článku o orchestrácii Docker s nástrojmi Swarm a Compose. V podstate vám tento nástroj umožňuje definovať všetky potrebné služby v jednom súbore a spustiť ich naraz.

Vytvorenie súboru YAML

Najskôr vytvorte adresár pre svoj projekt a prejdite do neho:

sudo mkdir wordpress
cd wordpress

Vytvorte súbor YAML s názvom docker-compose.yml pomocou nasledujúceho príkazu:

sudo nano docker-compose.yml

Obsah súboru sa mierne líši v závislosti od toho, či používate MySQL alebo MariaDB:

MySQL

Do súboru pridajte nasledujúci obsah:

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

Uložte a zatvorte súbor.

MariaDB

Do súboru pridajte nasledujúci obsah:

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

Uložte a zatvorte súbor.

Spustenie kontajnerov

Ďalej použite Docker Compose na spustenie kontajnerov pomocou nasledujúceho príkazu:

sudo docker-compose up -d

Pomocou nasledujúceho príkazu skontrolujte, či boli kontajnery vytvorené:

sudo docker-compose ps

Na dokončenie inštalácie navštívte kontajner WordPress v prehliadači. Môžete použiť buď IP adresu servera, alebo jeho URL:

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

Kubernetes pre škálovateľné nasadenia WordPressu

Pre väčšie a produkčné nastavenia je možné použiť Kubernetes (K8s). Kubernetes vám umožňuje koordinovať a automaticky spravovať kontajnery WordPress na viacerých uzloch. Použitie klastra Kubernetes ponúka niekoľko výhod, ako je automatické škálovanie, mechanizmy samočinného opravovania a centralizovaná správa zdrojov. Jedným zo spôsobov, ako to implementovať, je Helm, správca balíkov pre Kubernetes:

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

To umožňuje vysoko dostupnú, škálovateľnú implementáciu WordPress s vyvažovaním zaťaženia, automatickými aktualizáciami a podporou prechodu na záložný systém.

Prejsť na hlavné menu