Jak skonfigurować WordPress za pomocą Dockera w Ubuntu?

Docker Wordpress Installation

WordPress to najpopularniejszy na świecie system zarządzania treścią (CMS). Ponad 40% sieci działa na WordPressie. Docker to system konteneryzacji używany do uruchamiania oprogramowania w odizolowanym środowisku. Koncepcja konteneryzacji nie jest nowa w świecie tworzenia oprogramowania. Ale Docker sprawia, że ​​jest bardzo przyjazny dla programistów.

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

Dlaczego Docker?

Dlaczego Docker, możesz zapytać?

Odpowiedzią jest prostota. W Dockerze Twoja aplikacja jest skonteneryzowana w jednym obrazie. Nie ma potrzeby przeprowadzania skomplikowanej instalacji i konfiguracji, aby go uruchomić.

Nie wspominając o tym, że migracja/uaktualnienie na inny serwer jest również szybsze i łatwiejsze. Powiedz, że Twój WordPress staje się bardzo popularny i musisz uaktualnić istniejący serwer? Z Dockerem jest to łatwe, ponieważ wszystko jest już skonteneryzowane. Jeśli tworzysz coś za pomocą Dockera, to po wdrożeniu działa wszędzie.

Instalacja Dockera

W tym artykule zainstalujemy silnik Dockera na serwerze Ubuntu.

Przed zainstalowaniem czegokolwiek, jeśli masz zainstalowaną w systemie starszą wersję Dockera, 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 lokalne indeksy pakietów, uruchamiając apt-get update i instalując zależności dla aparatu platformy Docker.
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ę aparatu Docker.
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. Sprawdź instalację platformy Docker, uruchamiając obraz hello world.
sudo docker run hello-world

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

Instalacja platformy Docker na pulpicie

Jeśli jesteś użytkownikiem systemu Linux na komputerach stacjonarnych i chcesz zainstalować Docker do celów programistycznych, 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 platformy Docker.

Pulpit platformy Docker

Pulpit platformy Docker w systemie Linux działa wewnątrz maszyny wirtualnej, co jest zupełnym przeciwieństwem modelu współdzielonego jądra silnika Docker. Dlatego Twój procesor musi obsługiwać technologię wirtualizacji i Linux KVM dla Docker Desktop, aby działać. Możesz sprawdzić stan wirtualizacji w ustawieniach UEFI/BIOS. Docker Desktop jest obsługiwany w głównych dystrybucjach Linuksa, takich jak Ubuntu, Debian i fedora.

Konieczność korzystania z maszyny wirtualnej dla pulpitu Docker jest wielokrotna. Niektóre z nich zostały opisane poniżej.

  1. Korzystanie z maszyny wirtualnej zapewnia spójną wydajność i doświadczenia pulpitu docker na wszystkich platformach (Windows, Linux. macOS, Raspberry Pi itp.).
  2. Ponieważ użytkownicy trzymają się długoterminowej wersji swojej dystrybucji, 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 pracować z najnowszym jądrem Linux.
  3. Korzystanie z maszyny wirtualnej zapewnia również bezpieczeństwo użytkownikowi. Jak wiemy, każdy może przesyłać obrazy do centrum 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, mogą one zniszczyć Twój komputer.
  4. Ponieważ pulpit Docker działa na maszynie wirtualnej, złośliwe obrazy nie mogą wpływać na maszynę hosta. To sprawia, że ​​pulpit Dockera jest nieodpartym kandydatem do wypróbowania nowych obrazów Dockera.
Czytać  Jak naprawić błąd połączenia „Brak ścieżki do hosta” w systemie Linux

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 wyczyś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 tego strona wydania i pobierz najnowszą .deb pakiet Docker-desktop.
  2. Zainstaluj .deb pakiet za pomocą dpkg.
sudo apt update
sudo apt install ./docker-desktop-<version>-<arch>.deb

Aby uruchomić pulpit Docker, wyszukaj w menu aplikacji i uruchom aplikację jak normalną. 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 WordPress

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

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

Pamięć lub objętość są potrzebne, gdy 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 użyć Docker-compose. Docker compose to narzędzie Docker, które inicjuje i utrzymuje kontenery Docker oraz ustanawia relacje 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ń woluminu. Dlatego nasz plik docker-compose będzie wyglądał tak. 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 (używając bazy danych MySQL) jako usługę. Następnie WordPress polega na DB, aby zapisać swoje dane. Używamy najnowszego obrazu WordPress do budowy kontenera WordPress. Kontener WordPress rezerwuje port 80. Jest to domyślny port dla usług internetowych. Dlatego po wpisaniu swojego http://nazwa-domeny.com URL w przeglądarce, ten kontener WordPressa wyświetla odpowiedź.

Czytać  Jak sprawić, by kłopotliwe gry Steam działały na Linuksie?

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

W końcu definiujemy nasze tomy. Tam będą przechowywane wszystkie pliki WordPress i dane bazy danych. Jeśli uruchamiasz tę konfigurację na serwerze, musisz regularnie tworzyć kopię zapasową tego woluminu.

Uruchamianie WordPressa w Dockerze

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

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

Gratulacje! Pomyślnie uruchomiłeś WordPressa w kontenerze Dockera. Pamiętaj, że nie oznacza to, że jest jeszcze gotowy do użytku produkcyjnego — nadal musisz skonfigurować certyfikat SSL.

Jeśli chcesz dowiedzieć się więcej o Dockerze, zapoznaj się z tym przyjaznym dla początkujących artykułem.

Często Zadawane Pytania

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

Tak, możesz jednocześnie uruchomić Docker-desktop i Docker Engine na swoim komputerze. Ale gdy 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 rozpoczęciem.

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

sudo systemctl stop docker docker.socket containerd
sudo systemctl disable docker docker.socket containerd

Jak automatycznie uruchomić witrynę WordPress po ponownym uruchomieniu?

Jeśli zatrzymałeś serwer w celu konserwacji lub aktualizacji niektórych elementów, możesz skonfigurować go tak, aby automatycznie uruchamiał WordPress po każdym ponownym uruchomieniu za pomocą Dockera. Poprostu dodaj restart: always parametr w każdej usłudze 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żyć Nginx lub dowolnego innego typu serwera do obsługi treści WordPress za pomocą Dockera. Nginx może być również używany jako zwrotny serwer proxy. Możesz łatwo dystrybuować ruch, instalując Nginx z Dockerem i WordPressem.

Czy ten artykuł jest przydatny?

Zapisz się do naszego newslettera!

Nasze najnowsze samouczki dostarczane prosto do Twojej skrzynki odbiorczej