Docker. Projektowanie i wdrażanie aplikacji - Helion
Tytuł oryginału: Developing with Docker
Tłumaczenie: Piotr Pilch
ISBN: 978-83-283-3534-9
stron: 224, Format: 170x230, okładka: miękka
Data wydania: 2017-09-25
Księgarnia: Helion
Nakład wyczerpany
Piętnastego marca 2013 roku na jednej z konferencji dla projektantów aplikacji zaprezentowano światu Dockera. Choć wystąpienie to trwało zaledwie kilka minut, wzbudziło ogromne zainteresowanie. Nic dziwnego — nowe narzędzie znacząco uprościło tworzenie oprogramowania i wdrażanie go na dużą skalę w dowolnym środowisku oraz usprawniło przepływ pracy. Docker ułatwia decyzje dotyczące architektury, co przekłada się na tworzenie narzędzi pomocniczych i ich wykorzystanie w różnych aplikacjach. Jednak aby w pełni skorzystać z tych licznych zalet, trzeba zrozumieć specyficzne podejście Dockera do budowy aplikacji.
Dzięki tej książce zrozumiesz, skąd się wziął lawinowy wzrost popularności Dockera. Przyjrzysz się temu znakomitemu narzędziu z punktu widzenia projektanta i dowiesz się, dlaczego dzięki niemu projektowanie, testowanie i wdrażanie aplikacji stają się szybsze i prostsze. Najpierw zapoznasz się z zagadnieniami podstawowymi, takimi jak kontenery, środowisko wykonawcze i narzędzia systemowe, aby potem skupić się na tworzeniu, uruchamianiu i publikowaniu obrazów Dockera. Znajdziesz tu również informacje o przydatnych zasobach internetowych dotyczących Dockera, a także o wartościowych narzędziach zewnętrznych, znakomicie poprawiających komfort pracy z tym narzędziem.
Najważniejsze zagadnienia:
- wprowadzenie do Dockera i przygotowanie środowiska pracy
- architektura Dockera: obrazy, woluminy, kontenery
- proces dystrybucji oprogramowania
- najlepsze praktyki tworzenia plików Dockera
- przykłady tworzenia rzeczywistych aplikacji w Dockerze
Docker: już dziś korzystaj z narzędzi jutra!
Jarosław Krochmalski — od kilkunastu lat tworzy oprogramowanie. Specjalizuje się w aplikacjach dla branży finansowej. Jest projektantem z pasją, entuzjastą przejrzystego kodu i kunsztu w pisaniu oprogramowania. Otrzymał certyfikat Certified Scrum Master. Szczególnie interesuje się nowymi technologiami związanymi z projektowaniem aplikacji internetowych, wzorcami projektowymi, architekturą dla przedsiębiorstw oraz wzorcami integracji. Brał udział w wielu projektach o dużej skali, takich jak międzynarodowe przekazy pieniężne, płatności ekspresowe i systemy gromadzenia danych. Obecnie pracuje jako konsultant w duńskiej firmie 7N.
Zobacz także:
- Docker. Kurs video. Zostań administratorem systemów IT 119,00 zł, (53,55 zł -55%)
- Docker. Kurs video. Praca z systemem konteneryzacji i Docker Swarm 89,00 zł, (40,05 zł -55%)
- DevOps dla zdesperowanych. Praktyczny poradnik przetrwania 67,00 zł, (33,50 zł -50%)
- DevOps w praktyce. Kurs video. Jenkins, Ansible, Terraform i Docker 198,98 zł, (99,49 zł -50%)
- Kubernetes. Tworzenie niezawodnych system 69,00 zł, (34,50 zł -50%)
Spis treści
Docker. Projektowanie i wdrażanie aplikacji -- spis treści
O autorze (9)
O recenzentach (10)
Przedmowa (11)
Rozdział 1. Wprowadzenie do Dockera (15)
- Podstawowa idea (16)
- Porównanie konteneryzacji i wirtualizacji (16)
- Tradycyjna wirtualizacja (16)
- Konteneryzacja (17)
- Korzyści wynikające z zastosowania Dockera (17)
- Szybkość i wielkość (18)
- Odtwarzalne i przenośne kompilacje (18)
- Trwała i "zwinna" infrastruktura (19)
- Narzędzia i interfejsy API (19)
- Przegląd narzędzi (20)
- Środowisko Docker Engine i jego klient (20)
- Docker Machine (21)
- Kitematic (22)
- Narzędzie Compose Dockera (23)
- Oracle VirtualBox (23)
- Git (24)
- Podsumowanie (25)
Rozdział 2. Instalowanie Dockera (27)
- Wymagania sprzętowe (28)
- Instalacja w systemie Windows (29)
- Instalacja w systemie Mac OS (36)
- Instalacja w systemie Linux (40)
- Instalacja w chmurze - AWS (43)
- Podsumowanie (47)
Rozdział 3. Obrazy i kontenery Dockera (49)
- Obrazy (50)
- Warstwy (52)
- Kontenery (56)
- Zapisywanie zmian w kontenerze (59)
- Rejestr, repozytorium i indeks Dockera (62)
- Podsumowanie (64)
Rozdział 4. Rozwiązania sieciowe i pamięć trwała kontenerów (67)
- Rozwiązania sieciowe Dockera (68)
- Sieci domyślne (69)
- Brak połączenia sieciowego (70)
- Sieć hosta (70)
- Sieć z mostem (71)
- Tworzenie sieci (72)
- Uruchamianie kontenera w sieci (73)
- Tworzenie sieci z wieloma hostami (75)
- Udostępnianie i mapowanie portów (82)
- Łączenie kontenerów (86)
- Dodatki sieciowe (88)
- Wolumeny Dockera (89)
- Tworzenie wolumenu (89)
- Usuwanie wolumenu (94)
- Sterowniki wolumenów (96)
- Podsumowanie (97)
Rozdział 5. Znajdowanie obrazów (99)
- Serwis Docker Hub (100)
- Konto w serwisie Docker Hub (102)
- Konto organizacji i zespoły (103)
- Współpracownicy (104)
- Repozytoria prywatne (105)
- Logowanie w serwisie Docker Hub (106)
- Wyszukiwanie obrazów (108)
- Nazewnictwo obrazów i znaczniki (109)
- Wyszukiwanie za pośrednictwem interfejsu strony internetowej (110)
- Wyszukiwanie za pomocą wiersza poleceń (112)
- Interfejs API REST rejestru Dockera i serwisu Docker Hub (114)
- Podsumowanie (116)
Rozdział 6. Tworzenie obrazów (117)
- Instrukcje pliku Dockerfile (119)
- FROM (119)
- MAINTAINER (120)
- ADD (121)
- COPY (123)
- CMD (124)
- ENTRYPOINT (126)
- LABEL (129)
- EXPOSE (131)
- RUN (132)
- USER (135)
- VOLUME (135)
- WORKDIR (137)
- ARG (137)
- ONBUILD (138)
- STOPSIGNAL (139)
- HEALTHCHECK (139)
- SHELL (140)
- Użycie plików Dockerfile (141)
- Podsumowanie (144)
Rozdział 7. Uruchamianie kontenerów (145)
- Tryby środowiska wykonawczego - odłączony i pierwszoplanowy (147)
- Tryb odłączony (147)
- Tryb pierwszoplanowy (148)
- Identyfikowanie obrazów i kontenerów (149)
- Ustawienia identyfikatorów procesów PID (150)
- Ustawienia przestrzeni nazw UTS (151)
- Nadpisywanie domyślnych poleceń w pliku Dockerfile (151)
- Nadpisywanie instrukcji CMD (152)
- Nadpisywanie instrukcji ENTRYPOINT (152)
- Wykonywanie dowolnych poleceń za pomocą polecenia exec (153)
- Monitorowanie kontenerów (154)
- Wyświetlanie dzienników (155)
- Zdarzenia kontenera (157)
- Inspekcja kontenera (158)
- Statystyki (160)
- Kody wyjścia kontenera i zasady restartowania (161)
- Zasada no (162)
- Zasada always (162)
- Zasada on-failure (162)
- Zasada unless-stopped (163)
- Aktualizowanie zasady restartowania dla działającego kontenera (163)
- Ograniczenia uruchomionego kontenera dotyczące zasobów (165)
- Pamięć (165)
- Procesory (167)
- Aktualizowanie ograniczeń dla działającego kontenera (169)
- Tryb Swarm Dockera (170)
- Cel (171)
- Terminologia (171)
- Polecenia trybu Swarm (172)
- Podsumowanie (174)
Rozdział 8. Publikowanie obrazów (175)
- Publikowanie obrazów (175)
- Tworzenie znaczników (176)
- Usuwanie znacznika z obrazu (176)
- Umieszczanie obrazu w repozytorium (176)
- Elementy Webhook i zautomatyzowany proces budowania (177)
- Konfigurowanie zautomatyzowanego procesu budowania (178)
- Wyzwalacze budowania (183)
- Elementy Webhook i wdrożenia ciągłe (184)
- Podsumowanie (190)
Rozdział 9. Użycie Dockera w programowaniu (191)
- Użycie Dockera z narzędziem Maven (192)
- Wtyczka Spotify docker-maven-plugin (193)
- Wtyczka fabric8.io Maven Docker (194)
- Aplikacja Spring Boot w kontenerze Dockera (198)
- Umieszczanie w kontenerze aplikacji Angular.js (206)
- Podsumowanie (212)
Dodatek A. Dodatkowe zasoby (215)
- Oficjalna dokumentacja (215)
- Strona Awesome Docker (216)
- Szkolenie (217)
Skorowidz (219)