Jak używać Docker’a – pierwsza strona w WordPress

19 maja 2020

Dziś poruszę temat dockera, do którego chciałbym bardzo serdecznie Cię zachęcić, jeśli jeszcze go nie używasz. Dzięki niemu łatwiej zapanujesz nad środowiskiem w swojej aplikacji. Nie będziesz też musiał/a konfigurować swojego komputera tak, aby był gotowy do pracy z Twoim projektem.

Filozofia dockera

Cała magia dockera polega na tym, że zamykamy nasze aplikacje w zamkniętych środowiskach tzw. kontenerach (eng. containers). Dzięki czemu są one odseparowane, a każde środowisko jest od siebie niezależne. Daje nam to sporo plusów, ale główną zaletą jest fakt, że nie trzeba przygotowywać naszego komputera do pracy z daną technologią (php, node.js etc.).

Na przykładzie strony stworzonej w systemie WordPress pokażę Ci jak możesz szybko i bezproblemowo tworzyć własne layouty, pluginy. Wszystko to zrobimy mając w naszym edytorze jedynie katalog wp-content.

Po pierwsze instalacja

Na naszym komputerze musimy mieć zainstalowane dwie rzeczy:

  • Docker’a
  • Docker Compose

Jak je zainstalować o tym możesz poczytać tutaj:

Zakładam, że na tym etapie masz już zainstalowanego docker’a oraz docker compose’a.

Obraz

Docker korzysta z tzw. wirtualizacji, czyli instaluje w naszym kontenerze (eng. container) obraz środowiska (eng. image). Można to porównać trochę do sytuacji, gdy mamy komputer (pełniący rolę containera) i instalujemy na nim system bazując na obrazie .iso (pełniący rolę image).

Obrazy możesz wyszukiwać tutaj: https://hub.docker.com/
Możesz również tworzyć własne obrazy, ale o tym w innym wpisie.

W naszym przypadku posłużymy się dwoma obrazami, które zainstalujemy na dwóch różnych kontenerach:

  • Obraz mysql:5.7, który da nam dostęp do bazy danych MySQL
  • Obraz wordpress:latest, który zawiera pliki z aktualną wersję systemu WordPress

Konfiguracja

Musimy utworzyć plik docker-compose.yaml, w którym opiszemy konfiguracje naszych kontenerów. Plik powinien wyglądać następująco

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     volumes:
      - ./wp-content:/var/www/html/wp-content
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}

Najważniejsze informacje jakie się tutaj znajdują to po krótce:

  • Dwa kontenery o nazwach db oraz wordpress
  • Każdy z kontenerów ma stworzoną swoją konfigurację oraz posiada ustawione zmienne środowiskowe. Dzięki temu kontener wordpress ustawi w pliku wp-config.php poprawne dane do połęczenia z bazą danych.
  • W kontenerach ustawiamy jakie obrazy mają być na nich zainstalowane image:
  • W przypadku kontenera wordpress mamy również zastosowane mapowanie portu (ports:) Zastosowany zapis pozwoli nam uruchomić w przeglądarce adres http://localhost:8000 pod którym pojawi się zawartość serwowana przez kontener wordpress na porcie :80 To dzięki temu uzyskamy dostęp do strony WordPress.

Co dalej?

Żeby skorzystać z przygotowanego wyżej pliku konfiguracyjnego należy w terminalu uruchomić polecenie

docker-compose up

Oczywiście w terminalu wcześniej musisz wejść do katalogu, w którym znajduje się plik docker-compose.yaml

Gdy Docker Compose zainstaluje i skonfiguruje środowisko, to Twoja strona WordPress będzie dostępna pod adresem http://localhost:8000

W katalogu, w którym znajdował się wcześniej tylko docker-compose.yaml pojawi się teraz katalog wp-content, w którym znajdziesz standardową zawartość, czyli między innymi themes oraz plugins.

Pamiętaj również, że jeśli używasz tej konfiguracji pod repozytorium GIT’a, to potrzebne będzie dodanie odpowiednich zapisów w .gitignore.

Na przykład:

wp-content/plugins/akismet
wp-content/plugins/hello.php
wp-content/plugins/index.php
wp-content/themes/twentynineteen
wp-content/themes/twentyseventeen
wp-content/themes/twentytwenty
wp-content/index.php
node_modules

Podsumowanie

Warto używać Dockera, aby usprawniać sobie pracę i móc swobodnie zarządzać środowiskami developerskimi. Daj znać w komentarzu, czy artykuł był dla Ciebie przydatny oraz czy korzystasz lub masz zamiar skorzystać z Dockera w swoich projektach.

Na koniec skrzynia skarbów – newsletter. Znajdziesz w nim link do zapisu na darmowe 45-minutowe konsultacje online. Nie ma go w innym miejscu, tylko w wiadomościach ode mnie. A razem z nim dostaniesz w mailach czyste złoto, czyli wiedzę. Zero spamu.

Zapisz się na newsletter

.

Tu też znajdziesz wiedzę za darmo

Po rozwiązania zajrzyj również na octocode’owy kanał na YouTube’ie. Będzie Twoją latarnią morską w programowaniu.

Lubisz słuchać rozmów z ciekawymi ludźmi z branży? Zapraszam na Prograduchy – podcast na luzie, a jednocześnie merytoryczny. Nie odpłyniesz.

X