Wyszukiwanie w witrynie

Jak skonfigurować WordPress za pomocą Dockera w Ubuntu


WordPress to najpopularniejszy na świecie system zarządzania treścią (CMS). Ponad 40% sieci działa na platformie WordPress. Docker to system konteneryzujący używany do uruchamiania oprogramowania w izolowanym środowisku. Koncepcja konteneryzacji nie jest nowa w świecie tworzenia oprogramowania. Ale Docker czyni go bardzo przyjaznym dla programistów.

W tym artykule pokażemy, jak zainstalować witrynę WordPress w kontenerze Docker.

Treść

  • Dlaczego Docker?
  • Instalacja Dockera
  • Usługi, których potrzebujemy dla WordPressa
  • Korzystanie z pliku Docker-Compose
  • Uruchamianie WordPress Inside Docker
  • Często Zadawane Pytania

Dlaczego Docker?

Dlaczego Docker, możesz zapytać?

Odpowiedzią jest prostota. W Dockerze aplikacja jest kontenerowana w jednym obrazie. Aby go uruchomić, nie trzeba wykonywać skomplikowanej instalacji i konfiguracji.

Nie wspominając o tym, że migracja/aktualizacja na inny serwer jest również szybsza i łatwiejsza. Powiedz, że Twój WordPress staje się bardzo popularny i potrzebujesz modernizacji istniejącego serwera? Dzięki Dockerowi jest to łatwe, ponieważ wszystko jest już skonteneryzowane. Jeśli tworzysz coś za pomocą Dockera, to po wdrożeniu działa to wszędzie.

Przeczytaj także: Jak skopiować/przenieść kontener Docker na inny host

Instalacja Dockera

W tym artykule zainstalujemy silnik Docker na serwerze Ubuntu.

Jeśli masz zainstalowaną starszą wersję Dockera w swoim systemie, zanim cokolwiek zainstalujesz, usuń je. Uruchom to polecenie w terminalu, aby usunąć wszystkie starsze wersje Dockera.

sudo apt autoremove docker docker-engine docker.io containerd runc

Teraz zacznijmy naszą instalację:

  1. Zaktualizuj indeksy pakietów lokalnych, uruchamiając apt-get update i instalując zależności dla silnika Dockera.
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
  1. Dodaj oficjalny klucz GPG Dockera.
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  1. Skonfiguruj repozytorium.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. Zainstaluj najnowszą wersję silnika Docker.
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. Sprawdź instalację Dockera, uruchamiając obraz Hello World.
sudo docker run hello-world

Jeśli ten obraz Dockera hello-world działa bez żadnych błędów, gratulacje. Pomyślnie zainstalowałeś Docker na komputerze z systemem Ubuntu Linux.

Przeczytaj także: Jak zainstalować Dockera w systemie Linux

Instalacja pulpitu Docker

Jeśli jesteś użytkownikiem systemu Linux na komputerze stacjonarnym i chcesz zainstalować Docker do celów programistycznych, wówczas pulpit Docker powinien być preferowanym kandydatem w porównaniu z silnikiem Docker. Docker Desktop zapewnia ujednolicone środowisko i niezależny od platformy sposób tworzenia, uruchamiania i wypychania obrazów Docker.

Pulpit Dockera w systemie Linux działa wewnątrz maszyny wirtualnej, co jest całkowitym przeciwieństwem wspólnego modelu jądra silnika Dockera. Właśnie dlatego Twój procesor musi obsługiwać technologię wirtualizacji i Linux KVM, aby Docker Desktop działał. Stan wirtualizacji możesz sprawdzić w ustawieniach UEFI/BIOS. Docker Desktop jest obsługiwany w głównych dystrybucjach Linuksa, takich jak Ubuntu, Debian i Fedora.

Konieczność użycia maszyny wirtualnej dla pulpitu Docker jest wieloraka. Niektóre z nich opisano poniżej.

  1. Korzystanie z maszyny wirtualnej zapewnia spójną wydajność i doświadczenia pulpitu dokowanego na wszystkich platformach (Windows, Linux, macOS, Raspberry Pi itp.).
  2. Ponieważ użytkownicy trzymają się wersji swojej dystrybucji z długoterminowym wsparciem, nie uzyskują korzyści z najnowszych funkcji jądra. Korzystanie z maszyny wirtualnej rozwiązuje ten problem. Teraz Docker może wybrać swoją wersję jądra i może współpracować z najnowszym jądrem Linuksa.
  3. Korzystanie z maszyny wirtualnej zapewnia także bezpieczeństwo użytkownikowi. Jak wiemy, każdy może przesyłać obrazy do koncentratora Docker. Czasami obrazy mogą zawierać złośliwy kod, który może wykorzystać Twój pulpit. Jeśli pobierzesz takie złośliwe obrazy na swój komputer, obrazy te mogą zniszczyć Twój komputer.
  4. Ponieważ pulpit Dockera działa na maszynie wirtualnej, złośliwe obrazy nie mogą mieć wpływu na maszynę hosta. To sprawia, że pulpit Dockera jest nieodpartym kandydatem do wypróbowania nowych obrazów Dockera.

Najpierw upewnij się, że Twój system obsługuje KVM, qemu, systemd-init i wskaźnik aplikacji. Musisz mieć co najmniej 4 GB pamięci RAM w swoim systemie.

  1. Odinstaluj poprzednią wersję Docker-desktop zainstalowaną w Twoim systemie
sudo apt remove docker-desktop
  1. Aby całkowicie oczyścić i wyczyścić wszystkie pliki konfiguracyjne, uruchom następujące polecenie
rm -r $HOME/.docker/desktop
sudo rm /usr/local/bin/com.docker.cli
sudo apt purge docker-desktop
  1. Skonfiguruj repozytorium pakietów Docker, uruchamiając następujące polecenia.
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
 
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
 
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. Teraz przejdź do strony tej wersji i pobierz najnowszy pakiet .deb Docker-desktop.
  2. Zainstaluj pakiet .deb za pomocą dpkg.
sudo apt update
sudo apt install ./docker-desktop-<version>-<arch>.deb

Aby uruchomić pulpit Dockera, wyszukaj w menu aplikacji i uruchom aplikację jak zwykle. Tam możesz zobaczyć przewodnik powitalny. Postępuj zgodnie z przewodnikiem, aby dowiedzieć się więcej o pulpicie Docker dla systemu Linux i o tym, jak z niego korzystać. Możesz także tworzyć kontenery i obrazy za pomocą aplikacji komputerowej Docker.

Usługi, których potrzebujemy dla WordPressa

Do uruchomienia WordPressa w kontenerach Docker potrzebujemy głównie 3 komponentów. Najpierw potrzebujemy samego WordPressa, następnie bazy danych MySQL, a następnie miejsca lub woluminu.

WordPress przechowuje wszystkie dane wygenerowane przez użytkowników w bazie danych MySQL. Dlatego baza danych MySQL odgrywa kluczową rolę w naszej instalacji WordPress.

Pamięć lub wolumen są potrzebne, jeśli chcesz zainstalować nowe motywy lub wtyczki. Te pliki motywów lub wtyczek będą przechowywane w przestrzeni woluminu.

Korzystanie z pliku Docker-Compose

Ponieważ nasza aplikacja potrzebuje więcej niż jednej usługi, najlepiej jest użyć Docker-compose. Docker Compose to narzędzie Docker, które inicjuje i utrzymuje kontenery Docker oraz ustanawia relację między nimi.

  1. Utwórz nowy plik docker-compose.yml.
sudo nano docker-compose.yml
  1. Z poprzedniej sekcji dowiedzieliśmy się, że potrzebujemy głównie 3 usług. Sam WordPress, baza danych MySQL i przestrzeń wolumenowa. Dlatego nasz plik tworzenia dokera będzie wyglądał następująco. Możesz skopiować ten plik docker-compose.yml, jeśli nie potrzebujesz żadnych innych dostosowań.
version: '3.3'

services:
   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     volumes:
       - wordpress_files:/var/www/html
     ports:
       - "80:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: my_wordpress_db_password

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

volumes:
    wordpress_files:
    db_data:

W powyższym pliku docker-compose najpierw definiujemy WordPress i DB (przy użyciu bazy danych MySQL) jako usługę. Następnie WordPress zależy od DB, aby zapisać swoje dane. Do zbudowania kontenera WordPress używamy najnowszego obrazu WordPress. Kontener WordPress rezerwuje port 80. Jest to domyślny port dla usług internetowych. Dlatego po wpisaniu adresu URL http://domain-name.com w przeglądarce ten kontener WordPress wyświetli odpowiedź.

Wewnątrz usługi bazy danych do stworzenia kontenera używamy obrazu MySQL w wersji 5.7. Następnie podajemy wszystkie niezbędne dane uwierzytelniające, aby móc rozmawiać z naszym kontenerem WordPress.

Na koniec definiujemy nasze objętości. Tam będą przechowywane wszystkie pliki WordPress i dane bazy danych. Jeśli używasz tej konfiguracji na serwerze, musisz regularnie tworzyć kopie zapasowe tego woluminu.

Przeczytaj także: Jak skonfigurować WordPress do lokalnego rozwoju w systemie Linux

Uruchamianie WordPress Inside Docker

Teraz utwórz folder lub katalog i przenieś plik docker-compose.yml do tego katalogu. Następnie uruchom to polecenie.

docker-compose up -d

Po tym poleceniu Docker pobierze wszystkie opisane przez nas obrazy z naszego pliku docker-compose.yml i utworzy z niego kontener. Pierwsze uruchomienie może zająć dużo czasu, ponieważ doker musi pobrać wszystkie pliki z DockerHub. Po skonfigurowaniu i załadowaniu adresu IP serwera do przeglądarki powinieneś zobaczyć ekran instalacji WordPress.

Gratulacje! Pomyślnie uruchomiłeś WordPress w kontenerze Docker. Pamiętaj, że nie oznacza to, że jest on już gotowy do użytku produkcyjnego - nadal musisz skonfigurować certyfikat SSL.

Jeśli chcesz dowiedzieć się więcej o Dockerze, przeczytaj ten artykuł przyjazny dla początkujących.

Przeczytaj także: 6 najlepszych usług hostingowych WordPress dla Twojej witryny WordPress

Często Zadawane Pytania

Czy mogę uruchomić Docker-desktop jednocześnie z silnikiem Docker?

Tak, możesz jednocześnie uruchomić na swoim komputerze pulpit Docker i silnik Docker. Kiedy jednak obie usługi muszą uzyskać dostęp do tych samych zasobów systemowych, takich jak porty sieciowe lub woluminy, powstaje między nimi konflikt. Dlatego zaleca się zatrzymanie jednej usługi przed jej uruchomieniem.

Pulpity Dockera można łatwo zatrzymać za pomocą aplikacji GUI (graficzny interfejs użytkownika). Aby zatrzymać silnik Dockera, uruchom następujące polecenie.

sudo systemctl zatrzymaj okno dokowane docker.socket kontenerd
sudo systemctl wyłącz okno dokowane docker.socket kontenerd

Jak automatycznie uruchomić witrynę WordPress po ponownym uruchomieniu?

Jeśli zatrzymałeś serwer w celu konserwacji lub aktualizacji, możesz skonfigurować go tak, aby automatycznie uruchamiał WordPress po każdym ponownym uruchomieniu za pomocą Dockera. Po prostu dodaj parametr restart: zawsze pod każdą usługą pliku docker-compose. Możesz zobaczyć ten parametr, który dodaliśmy w pliku docker-compose.yml.

Czy mogę używać Nginx z Docker-compose i WordPress?

Tak, możesz używać Nginx lub dowolnego innego typu serwera do udostępniania treści WordPress za pomocą Dockera. Nginx może być również używany jako odwrotne proxy. Możesz łatwo dystrybuować swój ruch, instalując Nginx z Dockerem i WordPressem.

Powiązane artykuły