Docker compose – przygotowanie
Dzisiaj przygotujemy proste środowisko do mojego projektu – zainstalujemy i skonfigurujemy sobie dockera oraz uruchomimy prostą aplikację opartą o flaska oraz postgresql. Nad wszystkim będzie czuwał nginx.
Instalowanie dockera
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
Dodajemy klucz GPG
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Dodajemy repozytorium odpowiednie dla naszego systemu
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Aktualizujemy informacje o paczkach i instalujemy dockera
sudo apt-get update
&& sudo apt-get install docker docker-engine
Przygotowanie katalogów,
Każdy komponent aplikacji bedzie miał swój oddzielny folder tj. twrzymy katalog loadbalancer, application, api, database, status
Poniżej opisałem czym będzie zajmował się każdy kolejny komponent
- loadbalancer – rozdzielał ruch pomiędzy instancjami aplikacji oraz api
- application – dawał możliwość użytkownikowi zobaczenia naszej aplikacji
- api – udostępnia możliwość wymiany danych pomiędzy klientem a serwerem
- database – komponent którzy przechowuje nam bazy danych
- status – komponent przechowujący status i informacje odnośnie naszej infrastruktury
Opis struktury katalogów obrazów
Struktura katalogów do dockera jest rozdzielona w sposób – jeden obraz jeden katalog. W wersji prototypowej będzie istniała jedna instancja proxy która będzie rozrzucała cały ruch na aplikacje, api i stronę statusu, docelowo każdy element powinien mieć swój loadbalancer.
Tworząc ten wpis natknąłem się na docker-container jeżeli ktoś ma doświadczenie w tym temacie to proszę o opinię w komentarzach.