Docker w praktyce. Poziom I
- Opis
- Program
- Najczęściej zadawane pytania
- Recenzje
Obierz kurs na… aplikacje uruchamiane jedną komendą
Docker jest określany jako narzędzie, które umożliwia umieszczenie aplikacji w lekkim, wirtualnym kontenerze i natychmiastowe jej uruchomienie. Wyobraź sobie, że Twoje oprogramowanie działa niczym nocna lampka: wydanie polecenia jest jak wetknięcie wtyczki do kontaktu, klient robi pstryk i gotowe! Lampka świeci, program działa. Nie trzeba niczego dostosowywać, nikogo prosić o pomoc, wgrywać dodatkowego oprogramowania… Zastosowanie Dockera sprawia, że wystarczy wydać komendę, a program uruchomi się w kilka chwil i od razu w odpowiednim do tego środowisku.
Jednak to wspaniałe narzędzie, jakim jest Docker, czyni cuda nie tylko na etapie oddawania projektu klientowi. Docker okazuje się przydatny niemal na każdym etapie pracy programisty — począwszy od implementacji, a skończywszy na wdrożeniu. Podczas implementacji obraz i zmiany mogą być w prosty sposób poddawane ciągłej integracji i testom. Do tego programista może co jakiś czas przebudowywać obraz, aby sprawdzić, czy zmiany, których dokonuje, niczego nie zaburzają. Zasada w Dockerze jest prosta: jeżeli coś działa u twórcy aplikacji, będzie też działać u klienta. Po implementacji rozpoczyna się proces wdrożenia — tu również Docker Cię nie zawiedzie: wdrożenie, lub podmiana działającego kontenera, jest wykonalne.
Firmy chłoną Dockera i ludzi, którzy potrafią się w nim sprawnie poruszać. Chcesz dołączyć do tego zacnego grona? Świetnie! Ten kurs jest właśnie dla Ciebie!
Ukończenie szkolenia pozwala stosować Dockera w praktyce — konteneryzować aplikacje i uruchamiać je w różnych konfiguracjach, korzystać z wolumenów oraz dobierać odpowiednie narzędzia.
VISA, PayPal, Google, ING i… Ty
Docker opanowuje świat, sięgają po niego największe koncerny (choćby wyżej wymienione). W ciągu kilku ostatnich lat uruchomiono go na kilkunastu milionach urządzeń. Dlaczego? Odpowiedź jest banalna — Docker ułatwia życie praktycznie w każdej dziedzinie IT. W procesie implementacji przyśpiesza budowanie i rozwiązuje ukryte zależności. Oszczędza czas w procesie ciągłej integracji i testowania, pozwalając stworzyć jednolity plik budowy (Dockerfile). W przypadku wystąpienia zmian w kodzie proces budowy wymaga raptem jednej komendy (docker build). Docker wspomaga także testowanie. Plugin do Jenkinsa umożliwia uruchomienie kontenera i działanie wewnątrz niego. Dzięki temu środowisko testowe za każdym razem i z każdym testem jest odseparowane. O wdrażaniu powiedzieliśmy sporo wcześniej — klient uruchamia aplikację jednym prostym poleceniem. Do tego należy dodać kwestię backupowania. Jednym z najlepszych konceptów Dockera są wolumeny. Wystarczy je spakować i zarchiwizować, by przy poprawnie wykonanym kontenerze móc w krótkim czasie odtworzyć dowolną aplikację na podstawie backupu.
Docker na raz, dwa, trzy, cztery, pięć
Kurs video poświęcony Dockerowi podzielono na pięć bloków tematycznych. Na początku skupimy się na zagadnieniach bazowych: omówimy podstawowe założenia Dockera, zainstalujemy go i zaczniemy praktycznie z niego korzystać — wejdziemy na oficjalny rejestr, na którym uruchomimy kilka najbardziej popularnych aplikacji, aby zobaczyć, jak przyjemne jest to narzędzie. Na tym etapie pojawi się wiele pytań, na które odpowiemy w kolejnych częściach szkolenia. Opanowawszy podstawy, przejdziemy do pracy z kontenerem. Poznamy wszystko to, co potrzebne, by pracować z gotowymi, przygotowanymi wcześniej przez kogoś obrazami, stanowiącymi surowiec do tworzenia kontenerów. Omówimy sieci, wolumeny, tryb interaktywny, statystyki, logi, limitowanie zasobów i parametry przy uruchamianiu. W dalszej kolejności zajmiemy się konteneryzacją aplikacji. Stworzymy własną aplikację w architekturze mikroserwisów i wykreujemy własny obraz. Przejdziemy przez wszystkie dyrektywy budowy obrazu (Dockerfile), na końcu zaś uruchomimy i wyślemy go do prywatnego rejestru. Czwarta część szkolenia skupia się na przydatnych narzędziach. Przyjrzymy się więc takim narzędziom jak: API docker, docker-compose, docker-machine, docker-py, Portainer, Busybox, Traefik, Rancher, Mono i zintegrujemy Jenkinsa z pluginem Dockera. Wreszcie pokrótce omówimy wbudowane narzędzie, jakim jest Docker Swarm. Stworzymy rój złożony z trzech węzłów, wdrożymy serwis, zeskalujemy go oraz zrównoważymy obciążenie aplikacji WWW.
Konteneryzacja naprawdę zmieni Wasze programistyczne życie!
O autorze
Adam Rażniewski — inżynier informatyki z kilkuletnim doświadczeniem w dziedzinie oprogramowania i wsparcia programistów (DevOps). Aktualnie pracuje przy projekcie MindSphere i w szeroko pojętym Industry 4.0. Po godzinach pisze programy, aktywnie działa na platformie GitHub i SpigotMC, gdzie występuje pod pseudonimem „Razikus”. Pasjonuje się Linuxem i oprogramowaniem. Lubi wymyślać systemy i generyczne rozwiązania problemów. Pomaga mu w tym muzyka klasyczna.
-
63.1. Tryb interaktywnyVideo lesson
-
73.2. WolumenyVideo lesson
-
83.3. Sieci dockeroweVideo lesson
-
93.4. Statystyki i procesyVideo lesson
-
103.5. LogiVideo lesson
-
113.6. Limity zasobówVideo lesson
-
123.7. Historia obrazuVideo lesson
-
133.8. Parametry przy uruchamianiuVideo lesson
-
143.9. Inspekcja i labelowanie kontenerówVideo lesson
-
153.10. Terminal konteneraVideo lesson
-
164.1. Tworzymy mikroserwisy i testujemy aplikacjęVideo lesson
-
174.2. Dobieramy warstwy (dyrektywa FROM)Video lesson
-
184.3. Budujemy przez proxy (dyrektywa ARG)Video lesson
-
194.4. Dodajemy kod do środka kontenera (dyrektywa ADD lub COPY)Video lesson
-
204.5. Dodajemy pakiety (dyrektywa RUN)Video lesson
-
214.6. Tworzymy wolumeny dla logów (dyrektywa VOLUME)Video lesson
-
224.7. Wystawiamy porty (dyrektywa EXPOSE)Video lesson
-
234.8. Dodajemy zmienne środowiskowe (dyrektywa ENV)Video lesson
-
244.9. Zmieniamy użytkownika i katalog domyślny (dyrektywa USER i WORKDIR)Video lesson
-
254.10. Ustawiamy komendę po uruchomieniu (dyrektywa CMD i ENTRYPOINT)Video lesson
-
264.11. Dobre praktyki, uruchamianie i częste błędyVideo lesson
-
274.12. Umieszczanie obrazu w repozytorium publicznym i prywatnymVideo lesson
-
284.13. Tworzenie obrazu z "żywego" konteneraVideo lesson
-
294.14. Tagowanie obrazuVideo lesson
-
305.1. Przygotowanie maszyn wirtualnych do dalszej części kursuVideo lesson
-
315.2. API dockerVideo lesson
-
325.3. docker-composeVideo lesson
-
335.4. docker-machineVideo lesson
-
345.5. docker-pyVideo lesson
-
355.6. PortainerVideo lesson
-
365.7. BusyboxVideo lesson
-
375.8. TrafikVideo lesson
-
385.9. Rancher v2.0Video lesson
-
395.10. MonoVideo lesson
-
405.11. Integracja z JenkinsemVideo lesson
