🢂Tworzenie zintegrowanego środowiska WordPress i phpMyAdmin z Dockerem

Docker umożliwia szybkie i skuteczne tworzenie zintegrowanego środowiska dla WordPress i phpMyAdmin, ułatwiając administrację bazą danych i zarządzanie witryną.

W tym wpisie przyjrzymy się, jak za pomocą Dockera możemy szybko i efektywnie zbudować zintegrowane środowisko dla WordPressa oraz phpMyAdmin, które pozwoli na łatwą administrację bazą danych i stroną internetową.

Skorzystamy z konfiguracji, która umożliwia uruchomienie WordPressa z obsługą PHP 8.3 i serwera Apache, a także phpMyAdmin dla zarządzania bazą danych MySQL.

Zobaczysz, jak ustawić kontenery Docker, aby zapewnić niezawodność i wygodę użytkowania, dzięki czemu zarówno początkujący, jak i zaawansowani użytkownicy mogą skorzystać z tego przewodnika do tworzenia swoich projektów internetowych.

Plik konfiguracji Docker Compose docker-compose.yml:

Szczegółowe wyjaśnienie i komentarze w komentarzach

version: '3.1' # Określa wersję Docker Compose używaną do interpretacji pliku.

services:
    phpmyadmin:
        image: phpmyadmin # Określa obraz Docker używany do uruchomienia phpMyAdmin.
        restart: always # Kontener jest restartowany zawsze, gdy się zatrzyma.
        ports:
            - 8181:80 # Mapuje port 8181 hosta na port 80 kontenera, umożliwiając dostęp do phpMyAdmin.
        environment:
            - PMA_ARBITRARY=1 # Pozwala na dowolne połączenie do baz danych.
            - UPLOAD_LIMIT=300M # Ustawia limit wysyłania plików na 300MB.
    wordpress:
        image: wordpress:php8.3-apache # Obraz Docker z WordPress i PHP 8.3 oraz Apache.
        restart: always
        ports:
            - 8080:80 # Mapuje port 8080 hosta na port 80 w kontenerze, umożliwiając dostęp do WordPressa.
        environment:
            WORDPRESS_DB_HOST: db # Nazwa hosta bazy danych, odnosi się do usługi 'db' zdefiniowanej poniżej.
            WORDPRESS_DB_USER: exampleuser # Nazwa użytkownika bazy danych.
            WORDPRESS_DB_PASSWORD: examplepass # Hasło bazy danych.
            WORDPRESS_DB_NAME: exampledb # Nazwa bazy danych.
            WORDPRESS_TABLE_PREFIX: wp_w9k_ # Prefiks tabel WordPressa, umożliwiający wielowitrynowość.
            WORDPRESS_CONFIG_EXTRA: | # Dodatkowa konfiguracja WordPressa.
                define('DISABLE_WP_CRON', true); # Wyłącza domyślny mechanizm cron WordPressa.
                define('WP_ALLOW_MULTISITE', true); # Włącza funkcję wielostronności.
                define('MULTISITE', true);
                define('SUBDOMAIN_INSTALL', false);
                define('DOMAIN_CURRENT_SITE', 'localhost:8080');
                define('PATH_CURRENT_SITE', '/');
                define('SITE_ID_CURRENT_SITE', 1);
                define('BLOG_ID_CURRENT_SITE', 1);
                define('WP_DEBUG', true); # Włącza tryb debugowania.
                define('WP_DEBUG_LOG', true);
                define('WP_DEBUG_DISPLAY', true);
        volumes:
            - ./wordpress:/var/www/html # Montuje lokalny katalog do katalogu WordPressa w kontenerze.
    db:
        image: mysql:8.0 # Obraz Docker dla MySQL w wersji 8.0.
        restart: always
        environment:
            MYSQL_DATABASE: exampledb # Tworzy bazę danych o nazwie 'exampledb'.
            MYSQL_USER: exampleuser # Tworzy użytkownika 'exampleuser'.
            MYSQL_PASSWORD: examplepass # Ustawia hasło dla 'exampleuser'.
            MYSQL_RANDOM_ROOT_PASSWORD: '1' # Generuje losowe hasło dla użytkownika root.
        volumes:
            - db:/var/lib/mysql # Używa woluminu do trwałego przechowywania danych MySQL.
volumes:
    wordpress: # Definiuje wolumin dla danych WordPressa.
    db: # Definiuje wolumin dla danych MySQL.

W konfiguracji tej zastosowano standardowe praktyki umożliwiające łatwe i szybkie uruchomienie serwisów webowych. Użycie woluminów zapewnia trwałość danych, a konfiguracja środowiskowa pozwala na dostosowanie działania kontenerów do potrzeb projektu.

Jak uruchomić?

Aby uruchomić środowisko opisane w konfiguracji Docker Compose, wykonaj następujące kroki:

  1. Przygotuj plik Docker Compose: Zapisz powyższą konfigurację do pliku o nazwie docker-compose.yml. Upewnij się, że jest zapisany w katalogu, w którym chcesz uruchomić swoje środowisko.

  2. Zainstaluj Docker: Jeśli jeszcze nie masz zainstalowanego Docker i Docker Compose na swoim komputerze, musisz je zainstalować. Instrukcje instalacji znajdziesz na oficjalnej stronie Docker.

  3. Uruchom Docker Compose: Otwórz terminal lub wiersz poleceń w katalogu, gdzie znajduje się plik docker-compose.yml. Następnie użyj poniższego polecenia, aby uruchomić kontenery zdefiniowane w konfiguracji:

docker-compose up -d

Flagę -d stosuje się, aby uruchomić kontenery w tle, co pozwala na kontynuację pracy w terminalu.

Sprawdź działanie środowiska:

  • WordPress: Przejdź do przeglądarki internetowej i wpisz adres http://localhost:8080. Powinna się pojawić strona instalacyjna WordPress.
  • phpMyAdmin: W przeglądarce wpisz adres http://localhost:8181, aby uzyskać dostęp do phpMyAdmin. Użyj nazwy użytkownika i hasła zdefiniowanych w konfiguracji Docker Compose (exampleuser i examplepass), aby zalogować się i zarządzać bazą danych.

Zarządzaj kontenerami:

Możesz kontrolować swoje kontenery przy pomocy następujących poleceń:

  • Zatrzymanie kontenerów (użyj w katalogu z plikiem docker-compose.yml).:
docker-compose down
  • Uruchom ponownie kontenery (jeśli dokonałeś zmian w konfiguracji):
docker-compose up -d
  • Wyświetl logi (przydatne do debugowania i monitorowania aktywności kontenerów):
docker-compose logs

Pamiętaj, że wszystkie dane są przechowywane w woluminach Docker, dzięki czemu są zachowane nawet po zatrzymaniu kontenerów. Zapewnia to łatwość zarządzania danymi i ułatwia backup.