Szczegóły ebooka

Docker. Projektowanie i wdrażanie aplikacji

Docker. Projektowanie i wdrażanie aplikacji

Jaroslaw Krochmalski

Ebook

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.

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)

  • Tytuł: Docker. Projektowanie i wdrażanie aplikacji
  • Autor: Jaroslaw Krochmalski
  • Tytuł oryginału: Developing with Docker
  • Tłumaczenie: Piotr Pilch
  • ISBN: 978-83-283-3535-6, 9788328335356
  • Data wydania: 2017-09-25
  • Format: Ebook
  • Identyfikator pozycji: docpro
  • Wydawca: Helion