W artykule:
„Containerization” jest stosunkowo nowym hasłem w kręgach oprogramowania dla dużych przedsiębiorstw. Wystarczy umieścić partię środowisk w chmurze lub na serwerze, które mają tylko ważne aplikacje i niewiele więcej. Nazwa, którą najczęściej słyszysz, gdy pojawiają się kontenery, to Docker, projekt open source, który stał się potworem.
Nie musisz posiadać farmy serwerów, aby czerpać korzyści z konteneryzacji. Co jeśli po prostu chcesz środowiska testowego dla WordPressa, które pozwala eksperymentować z motywami i wtyczkami (być może nawet rozwijać własne) przed opublikowaniem wszystkiego w Internecie, gdzie świat może to zobaczyć?
Docker pomoże Ci w spełnieniu tego marzenia, a ja pomogę ci w tym.
Czym jest Docker?
Konfiguracja środowiska testowego do eksperymentów z oprogramowaniem może być uciążliwa. Może to być szczególnie prawdziwe w przypadku WordPress. Musisz skonfigurować serwer WWW, bazę danych, dane uwierzytelniające i te wszystkie rzeczy. Następnie serwer WWW pozostaje włączony, wysysając pamięć, ponieważ często jesteśmy zbyt leniwi, aby uruchomić go tylko wtedy, gdy go potrzebujemy.
Czy nie byłoby wspaniale, gdybyśmy mogli po prostu mieć WordPressa tylko wtedy, gdy chcieliśmy nad nim pracować, z prostą instalacją i całą resztą?
Wprowadź Docker.
James Governor na blogu analityków przemysłowych Red Monk opisuje ideę Dockera w ten sposób:
Docker ułatwia uruchamianie kontenera, który zawiera wszystko, co potrzebne do uruchomienia aplikacji – sam kod, środowiska uruchomieniowe, Narzędzia systemowe itp. Rozwijaj na swoim laptopie, a następnie teoretycznie wdrażaj na dowolnym serwerze. W przeciwieństwie do maszyn wirtualnych, kontenery zawierają aplikację i wszystkie jej zależności, ale współdzielą jądro z innymi kontenerami, wydajnym modelem, który w sposób przejrzysty odwzorowuje obecne myślenie programistyczne w obszarach takich jak ciągła integracja i mikroserwisy.
Uwaga: Jeśli jesteś ciekawy, Docker jest napisany w łatwym do nauczenia się języku programowania Python. Jeśli jesteś skłonny, możesz przeglądać kod na Githubie.
Instalacja Dockera w systemie Windows
Docker był pierwotnie programem Linuksowym, ale jego sukces wśród administratorów systemu skłonił Microsoft do kupienia trochę gotówki na port Docker do Windows, który został uruchomiony latem 2016 roku. Pierwsza iteracja Dockera Dla Windows została jednak zaprojektowana wyłącznie dla centrum danych. Aby go uruchomić, potrzebujesz Systemu Windows 10 Pro z wirtualizacją wspomaganą sprzętowo i klienta wirtualizacji Hyper-V. Dopóki Docker dla Windows nie przyjdzie do nas, otrzymujemy nieco bardziej skomplikowaną instalację, z kilkoma narzędziami innych firm do skonfigurowania.
Najpierw musisz VirtualBox, menedżer maszyn wirtualnych open source należący do Oracle, ale dostępny do pobrania bezpłatnie. Najnowsza wersja to 5.1.10.
Gdy otworzysz VirtualBox po raz pierwszy, zostaniesz poproszony o zainstalowanie pakietu rozszerzeń. Zrób to; zwłaszcza jeśli chcesz być w stanie otworzyć WordPress w przeglądarce prawdziwego komputera. Więcej o tym później.
Następnie pobierz Docker Toolbox. Ta aplikacja (również darmowa) stworzy między innymi maleńką wersję Linuksa do uruchamiania Dockera na maszynie wirtualnej.
Teraz, technicznie rzecz biorąc, aktualna wersja Docker Toolbox zainstaluje VirtualBox samodzielnie, jeśli jeszcze go nie masz. Obejmuje również te aplikacje:
- Maszyna Docker
- Docker Compose (więcej o tym później),
- Narzędzie do zarządzania kontenerami GUI o nazwie Kitematic (oprogramowanie alpha, które obecnie nie działa zbyt dobrze) oraz
- Rozproszony system kontroli źródeł, Git, który jest również dostarczany z własnym środowiskiem wiersza poleceń i edytorem tekstu, Atom.
Uruchom program Toolbox, aby utworzyć Maszynę Wirtualną w VirtualBox. Maszyna wirtualna tworzy wersję Linuksa z wierszem poleceń i kilkoma podstawowymi narzędziami powłoki. Nie ma to jak interfejs graficzny. Wszystkie te pliki umieszczone są w /usr/ local / bin katalog Twojej maszyny Wirtualnej Linux.
Interaktywna powłoka pojawia się po zakończeniu procesu QuickStart. Aby potwierdzić, że wszystko działa poprawnie, wpisz docker run hello-world. Jeśli to się zakończy, możesz użyć Dockera do skonfigurowania WordPressa.
Instalacja Dockera na Linuksie
Ponieważ Docker został pierwotnie zbudowany dla Linuksa, znacznie łatwiej jest go uruchomić bezpośrednio. Istnieje duże prawdopodobieństwo, że w miarę aktualna wersja twojej dystrybucji (Ubuntu, Fedora, openSUSE, Debian i wszyscy ich potomkowie) będzie zawierać silnik Docker, aplikację Docker Machine i funkcję Docker Compose, która upraszcza tworzenie obrazów za pomocą ładnego pliku konfiguracyjnego. Fajne jest to, że dystrybucje Linuksa mają również graficzną przeglądarkę do testowania. W ten sposób zainstalujesz WordPressa tym razem.
Użyj menedżera pakietów, aby zainstalować Docker, Docker-bash-completion i Docker Compose.
Naprawdę, to jest to!
Instalacja Dockera na Mac OS X
Docker dla OS X działa na Yosemite (Mac 10.10), więc szanse na zainstalowanie i uruchomienie nowego produktu są większe niż użytkownicy systemu Windows. Przeczytaj uważnie instrukcje przed zainstalowaniem aplikacji.
Docker for Mac działa wewnątrz systemu maszyn wirtualnych HyperKit i zawiera Silnik Docker, interfejs wiersza poleceń, komponowanie Docker i maszynę Docker
Konfigurowanie WordPressa za pomocą wiersza poleceń
Następnie skonfigurujmy WordPress w Docker VM. Można to zrobić na kilka sposobów. Pierwszy z nich zasugerował mi bloger James Wade.
Dobra wiadomość jest taka, że od teraz nie ma znaczenia, jaki system operacyjny działa na twoim komputerze. Gdy mieszkasz w środowisku Docker, wszystko działa w ten sam sposób.
Utwórz nowy katalog dla środowiska WordPress, wpisując polecenie: mkdir wptest
Zmień katalogi na te, które właśnie utworzyłeś, cd wptest.
Teraz zaczyna się zabawa. Stworzysz bazę danych z wiersza poleceń. Typ:
Tutaj Docker może wydawać się magiczny. Zainstaluj WordPress za pomocą zaledwie trzech słów:
docker pull WordPress
Docker sprawdzi, czy WordPress i wszystkie jego zależności są zainstalowane. Jeśli tak nie jest, automatycznie pobierze archiwum zip ze strony Docker Hub, rozpakuje je i zainstaluje (pociągnie) do systemu. W Docker-speak tworzy on „obraz” aplikacji w systemie.
Jeszcze jedno zadanie: Budowa kontenera. Jeśli kiedykolwiek zainstalowałeś WordPressa, zobaczysz kilka znanych poleceń w tym łańcuchu:
Teraz masz kontener Docker o nazwie wptest połączony z bazą danych MySQL o nazwie wordpressdb. Będzie działać w tle (ze względu na - d switch) i użyj obrazu WordPress, który wyciągnęliśmy kilka minut temu.
Aby potwierdzić, że wptest jest uruchomiony i zlokalizuj jego adres IP (aby można było go uruchomić w przeglądarce), wpisz:
Założę się, że wynik wygląda tak:
Teraz, jeśli otworzysz ten adres w przeglądarce, zobaczysz znajomy ekran instalacji WordPress pięć minut. Prowadzisz interes!
Jest to rodzaj ręcznego sposobu, aby to zrobić, i fajnie jest robić wyłącznie z wiersza poleceń. Zobaczmy, co możemy zrobić w bardziej zaprogramowany sposób.
Konfigurowanie WordPressa za pomocą Dockera-Compose
Docker Compose używa pliku konfiguracyjnego do utworzenia kontenera, dzięki czemu można go replikować tak często, jak jest to potrzebne. Opisany tutaj plik konfiguracyjny jest częścią oficjalnej dokumentacji Dockera.
Ponownie, należy utworzyć katalog projektu do przechowywania kontenera i jego pliku konfiguracyjnego.
Potwierdź, że masz zainstalowane docker-compose za pomocą tego polecenia:
Użyj edytora tekstu, aby utworzyć docker-komponuj.plik yml, który uruchomi Twoją witrynę WordPress i oddzielną instancję MySQL z mocowaniem woluminu dla trwałości danych.
W sekcji Usługi tworzysz WORDPRESS bazy danych i definiowanie poświadczeń dostępu do niej: MYSQL_ROOT_PASSWORD, MYSQL_USER, oraz MYSQL_PASSWORD. Następnie powiedz Dockerowi, aby wyciągnął najnowszy obraz WordPressa z Docker Hub, wyświetlił dowolną zawartość na porcie 8000 i podłączył ją do WORDPRESS baza danych, którą właśnie utworzono.
Notatka: The docker objętość db_data będzie utrzymywać wszelkie aktualizacje dokonane przez WordPress do bazy danych.
Gdy masz plik YAML w katalogu projektu, Uruchom docker-compose up-d z katalogu projektu.
Podobnie jak w przypadku wersji ręcznej, plik kompozycji robi to samo, co Docker pull WordPress – pobiera potrzebne obrazy i uruchamia kontenery WordPress i bazy danych, jak pokazano w poniższym przykładzie.
Ostatni krok: Uruchom WordPress. Możesz poczekać kilka minut po uruchomieniu Compose. Witryna WordPress nie będzie natychmiast dostępna, ponieważ kontenery są nadal inicjowane.
Gdy czekasz, piszesz docker-maszyna ip MACHINE_VM poda ci adres maszyny. Następnie możesz otworzyć przeglądarkę i wpisać wyniki polecenia adres maszyny: http://MACHINE_VM_IP:8000.
W tym momencie WordPress powinien działać na porcie 8000 Twojego hosta Docker i możesz ukończyć „słynną pięciominutową instalację” jako administrator WordPress.
Tagi: