Jest to łatwy sposób na skonfigurowanie zautomatyzowanego wdrażania aplikacji z frontendą, bazą danych i kilkoma hasłami i klawiszami dostępu. Za każdym razem, gdy uruchamiasz Docker-Compose z wewnętrznego katalogu zawierającego kompozycję dokera.YML Przechodzi przez plik i wdraża Twoją aplikację zgodnie z określoną.
Aby pomóc Ci napisać własny kompos.YML tutaj jest 5 prostych i, miejmy nadzieję, pomocne fragmenty Yaml, które możesz mieszać i dopasowywać.
Prawdopodobnie najczęstszą aplikacją, którą należy wdrożyć jako kontener Docker, jest Nginx. Nginx może służyć jako odwrotny serwer proxy i jako punkt zakończenia SSL dla aplikacji internetowych. Różne systemy zarządzania treścią, takie jak Ghost i WordPress, mogą być hostowane za jednym serwerem proxy Nginx Reverse, a zatem sensowne jest posiadanie fragmentu fragmentu nginx przez cały czas. Pierwszą rzeczą, której potrzebujesz, jest plik konfiguracyjny Nginx. Jeśli zdecydujesz się go nie tworzyć, domyślny serwer HTTP jest tym, co otrzymasz.
Na przykład utworzyłbym folder nginx-configuration w moim folderze domowym. Plik konfiguracyjny nginx.Conf będzie obecny w tym folderze, wraz z innymi katalogami plików, których Nginx spodziewałby się at /etc /nginx. Obejmuje to certyfikaty SSL i klucze oraz nazwy hostów serwerów zaplecza, na których należy przekazać ruch uliczny.
Ten folder może być następnie zamontowany wewnątrz pojemnika Nginx at /Etc /nginx (za pomocą dopuszczania tylko do odczytu, jeśli wolisz dodatkowe środki ostrożności) i możesz uruchomić serwer jako kontener, ale możesz skonfigurować go lokalnie z katalogu domowego bez konieczności rejestrowania się do rejestrowania do kontenera.
To jest próbka:
Wersja: „3”Blog Ghost
Ghost to CMS napisany głównie w węźle.JS i jest uproszczony, szybki i elegancki w projektowaniu. Opiera się na Nginx, aby kierować ruchem do niego i używa MariaDB lub czasami SQLite do przechowywania danych. Możesz wdrożyć szybki i brudny obraz dokera dla ducha za pomocą prostego fragmentu, jak pokazano poniżej:
Wersja: „3”To tworzy nowy tom i zamontuje go wewnątrz kontenera, aby przechowywać zawartość witryny. Możesz dodać poprzednią usługę proxy Nginx Reverse do tego pliku kompozycji i mieć blog Ghost Production, który działa w ciągu minuty, pod warunkiem, że skonfigurowałeś Nginx do kierowania odpowiedniego ruchu z portu 80 lub 443 do portu 2368 na duchu pojemnik.
Mariadb
Mariadb to dość przydatne oprogramowanie, które nie będzie dostępne w mgnieniu oka na serwer. Jednak bazy danych tworzą wiele dzienników, rzeczywiste dane mają tendencję do rozkładania się na całym miejscu i konfigurując serwery bazy danych i/lub klienci nigdy nie idą płynnie. Starannie spreparowany plik kompozycji dokera może złagodzić niektóre problemy, próbując przechowywać wszystkie odpowiednie dane w jednym tomie dokera, podczas gdy baza danych oprogramowanie a jego złożoność są schowane w pojemniku:
Wersja: „3”Możesz utworzyć nowy kontener bazy danych dla każdej nowej aplikacji, zamiast tworzyć więcej użytkowników w tej samej bazie danych, konfigurować uprawnienia i przeglądanie bolesnej rigmarole zapewniania każdej aplikacji i użytkownika pozostania na własnej murawie. Nie będziesz musiał również otwierać portów w systemie hosta, ponieważ kontener bazy danych będzie działał we własnej izolowanej sieci i możesz ją mieć, aby tylko aplikacja mogła być częścią tej sieci, a tym samym uzyskać dostęp do bazy danych.
Stos WordPress
Kulminacja wszystkich różnych części od użycia zmiennych środowiskowych po uruchamianie serwera WWW i bazy danych zaplecza można połączyć w pliku kompozycji Docker dla witryny WordPress, jak pokazano poniżej:
Wersja: „3.3 'Jest to najpopularniejszy przykład i jest również wspomniany w oficjalnej dokumentacji kompozycji dokera. Są szanse, że nie będziesz wdrażać WordPress, ale plik komponowania tutaj może nadal służyć jako szybkie odniesienie do podobnych stosów aplikacji.
Docker-Compose z Dockerfiles
Jak dotąd mieliśmy do czynienia tylko z czystą stroną wdrażania kompozycji dokera. Ale są szanse Następnie Wdrażanie aplikacji. Niezależnie od tego, czy jest to miejsce na lokalnej stacji roboczej, czy na dedykowanym serwerze CD/CI, Docker-Compose może zbudować obraz za pomocą pliku dokera obecnego u podstaw repozytorium dotyczącej aplikacji lub części aplikacji:
Wersja: „3”Zauważyłeś, że chociaż usługa backendowa używa wcześniej istniejącego obrazu Mariadb, obraz frontendowy jest najpierw zbudowany z pliku Docker ./Diatoryd-kod frontend.
Cała funkcjonalność kompozycji dokera jest dość łatwa do zrozumienia, jeśli tylko najpierw zadamy sobie pytanie, co próbujemy zbudować. Po kilku literówkach i nieudanych próbach pozostanie z zestawem fragmentów, które działają bezbłędnie i można je połączyć jak bloki konstrukcyjne LEGO, aby zdefiniować wdrożenie aplikacji.
Mam nadzieję, że powyższe przykłady dadzą ci dobry początek od tego. Możesz znaleźć pełne odniesienie do pisania pliku komponowania tutaj.