Docker dla praktyków. Wydanie II - ebook
Docker dla praktyków. Wydanie II - ebook
Docker to platforma oparta na otwartym kodzie źródłowym. Jest dziś uważany za najważniejsze narzędzie do rozwijania aplikacji rozproszonych. Umożliwia przyspieszenie prac nad oprogramowaniem, ale również jego konfiguracją, wdrożeniem i dostarczeniem do klienta. Docker pozwala na skalowanie infrastruktury aplikacji w czasie rzeczywistym i poprawę wykorzystania zasobów. Technologia Dockera ułatwia budowę aplikacji dobrze przemyślanych, przetwarzających dane w sposób kontekstowy, rozproszonych i skupionych na konkretnym celu biznesowym. Pozwala też na uruchamianie tworzonej aplikacji na dowolnej platformie!
Niniejsza książka jest przeznaczona dla programistów i osób zarządzających procesem tworzenia aplikacji. Przedstawiono tu informacje potrzebne do rozpoczęcia pracy z Dockerem, wyjaśniono też terminologię i polecenia potrzebne do zarządzania kontenerami. Opisano proces budowy i publikacji obrazów Dockera, nie zabrakło również informacji o sposobach tworzenia prywatnych repozytoriów. W książce poruszono również zagadnienia związane z orkiestracją kontenerów za pomocą narzędzia Docker Compose, debugowaniem kontenerów i zabezpieczaniem ich za pomocą modułów AppArmor i SELinux. Ciekawym elementem jest opis kilku praktycznych zastosowań platformy, dzięki czemu łatwiej uświadomić sobie przyczyny rosnącej popularności tego rozwiązania.
W tej książce między innymi:
- rozpoczynanie pracy z Dockerem
- automatyczne budowanie obrazów Dockera
- udostępnianie danych i związane z tym problemy
- testowanie i debugowanie aplikacji
- zagadnienia bezpieczeństwa i zarządzania konfiguracją Dockera
Docker — nowy wymiar rozwoju aplikacji!
Jeeva S. Chelladhurai działa w branży IT od 20 lat. Specjalizuje się w DevOps i dostarczaniu rozwiązań mających postać chmury. Interesuje się centrami optymalizacji danych i rozwijaniem aplikacji za pomocą Dockera.
Vinod Singh od wielu lat tworzy oprogramowanie, projektuje architekturę systemów i testuje różne rozwiązania. Jego pasją są tworzenie oprogramowania w chmurze, rozwój sztucznej inteligencji i system Linux.
Dr Pethuru Raj jest głównym architektem w Reliance Jio Cloud, wcześniej był architektem infrastruktury chmury w indyjskim IBM Global Cloud Center of Excellence. W IT pracuje od ponad 17 lat, a od 8 lat zajmuje się również badaniami naukowymi.
Spis treści
O autorach (9)
O korektorze merytorycznym (11)
Wstęp (13)
Rozdział 1. Początek pracy z Dockerem (17)
- Główne przyczyny korzystania z kontenerów Dockera (18)
- Różnica pomiędzy konteneryzacją i wirtualizacją (19)
- Najnowsze dodatki do platformy Docker (21)
- Instalowanie silnika Docker Engine (23)
- Instalowanie Dockera w systemie Ubuntu (24)
- Instalowanie Dockera za pomocą zautomatyzowanego skryptu (25)
- Instalowanie Dockera w systemie macOS (25)
- Instalowanie Dockera w systemie Windows (27)
- Poznaj konfigurację Dockera (29)
- Komunikacja klient - serwer (31)
- Pobieranie pierwszego obrazu Dockera (31)
- Uruchamianie pierwszego kontenera w Dockerze (32)
- Rozwiązywanie problemów z kontenerami Dockera (32)
- Podsumowanie (33)
Rozdział 2. Obsługa kontenerów Dockera (35)
- Wyjaśnienie terminów związanych z Dockerem (36)
- Obrazy Dockera (36)
- Kontenery Dockera (37)
- Rejestr Dockera (38)
- Praca z obrazami Dockera (38)
- Serwis Docker Hub (40)
- Wyszukiwanie obrazów Dockera (41)
- Praca z interaktywnym kontenerem (42)
- Śledzenie zmian wewnątrz kontenera (44)
- Zarządzanie kontenerami (45)
- Administrowanie kontenerami (48)
- Budowanie obrazów na podstawie kontenerów (50)
- Uruchamianie kontenera jako demona (51)
- Podsumowanie (52)
Rozdział 3. Budowanie obrazów (53)
- Zintegrowany system tworzenia obrazów Dockera (53)
- Wprowadzenie do składni pliku Dockerfile (56)
- Linia komentarza (56)
- Dyrektywy analizatora składni (57)
- Instrukcje pliku Dockerfile (57)
- Instrukcja FROM (57)
- Instrukcja MAINTAINER (58)
- Instrukcja COPY (59)
- Instrukcja ADD (59)
- Instrukcja ENV (60)
- Instrukcja ARG (61)
- Zmienne środowiskowe (61)
- Instrukcja USER (61)
- Instrukcja WORKDIR (62)
- Instrukcja VOLUME (62)
- Instrukcja EXPOSE (63)
- Instrukcja LABEL (63)
- Instrukcja RUN (64)
- Instrukcja CMD (65)
- Instrukcja ENTRYPOINT (67)
- Instrukcja HEALTHCHECK (68)
- Instrukcja ONBUILD (69)
- Instrukcja STOPSIGNAL (70)
- Instrukcja SHELL (70)
- Plik .dockerignore (70)
- Wprowadzenie do zarządzania obrazami Dockera (71)
- Dobre praktyki tworzenia plików Dockerfile (72)
- Podsumowanie (73)
Rozdział 4. Publikowanie obrazów (75)
- Czym jest Docker Hub? (76)
- Wstawianie obrazów do repozytorium Docker Hub (79)
- Automatyzacja procesu budowania obrazów (83)
- Docker Hub i prywatne repozytoria (87)
- Organizacje i zespoły w serwisie Docker Hub (88)
- Interfejs REST API serwisu Docker Hub (89)
- Podsumowanie (90)
Rozdział 5. Korzystanie z prywatnej infrastruktury Dockera (91)
- Rejestr Docker Registry (92)
- Zastosowania Docker Registry (95)
- Uruchamianie rejestru Docker Registry i ładowanie obrazu (96)
- Uruchamianie rejestru Docker Registry w środowisku localhost z certyfikatem SSL (99)
- Uruchamianie rejestru Docker Registry z ograniczeniami (101)
- Zarządzanie rejestrem Docker Registry za pomocą narzędzia Docker Compose (102)
- Stosowanie równoważenia obciążenia (103)
- Powiadomienia webhook (103)
- Obsługa interfejsu HTTP API rejestru Docker Registry (104)
- Podsumowanie (108)
Rozdział 6. Uruchamianie usług w kontenerze (109)
- Obsługa sieci przez kontener - wprowadzenie (110)
- Kontener jako usługa (115)
- Budowanie obrazu serwera HTTP (115)
- Uruchamianie obrazu serwera HTTP jako usługi (116)
- Nawiązywanie połączenia z usługą HTTP (117)
- Udostępnianie usług kontenera (118)
- Publikowanie portu kontenera za pomocą parametru -p (118)
- Kontenery i NAT (119)
- Ustalanie portu kontenera (120)
- Wiązanie kontenera z określonym adresem IP (122)
- Automatyczne generowanie portu hosta Dockera (123)
- Wiązanie portów za pomocą opcji EXPOSE i -P (124)
- Podsumowanie (126)
Rozdział 7. Kontenery i udostępnianie danych (127)
- Wolumin danych (128)
- Zarządzanie woluminem za pomocą poleceń (131)
- Udostępnianie danych hosta (132)
- Udostępnianie danych przez host w praktyce (135)
- Udostępnianie danych pomiędzy kontenerami (137)
- Kontenery zawierające tylko dane (137)
- Udostępnianie woluminów danych z innych kontenerów (138)
- Praktyczne aspekty wymiany danych pomiędzy kontenerami (140)
- Unikanie typowych problemów (142)
- Wycieki katalogu (143)
- Niechciane skutki stosowania woluminu (143)
- Podsumowanie (145)
Rozdział 8. Kontenery i orkiestracja (147)
- Mechanizm odkrywania usług wbudowany w Dockera (148)
- Łączenie kontenerów (149)
- Orkiestracja kontenerów (156)
- Orkiestracja kontenerów za pomocą narzędzia Docker Compose (158)
- Instalowanie narzędzia Docker Compose (158)
- Plik docker-compose (159)
- Polecenia narzędzia Docker Compose (161)
- Typowe zastosowania (163)
- Podsumowanie (167)
Rozdział 9. Testowanie z Dockerem (169)
- Wprowadzenie do TDD (170)
- Testowanie kodu w Dockerze (170)
- Przeprowadzanie testu wewnątrz kontenera (174)
- Integracja środowisk Docker i Jenkins podczas testowania (178)
- Przygotowanie środowiska Jenkins (178)
- Automatyzacja procesu testowania w Dockerze (181)
- Podsumowanie (186)
Rozdział 10. Debugowanie kontenerów (187)
- Kontenery Dockera i izolacja na poziomie procesu (188)
- Grupy kontrolne (191)
- Debugowanie aplikacji umieszczonej w kontenerze (192)
- Polecenie docker exec (193)
- Polecenie docker ps (194)
- Polecenie docker top (195)
- Polecenie docker stats (196)
- Polecenie docker events (196)
- Polecenie docker logs (197)
- Polecenie docker attach (197)
- Debugowanie pliku Dockerfile (198)
- Podsumowanie (199)
Rozdział 11. Zabezpieczanie kontenerów Dockera (201)
- Konteneryzacja a bezpieczeństwo (201)
- Wpływ kontenerów Dockera na bezpieczeństwo (202)
- Co jest bezpieczniejsze: maszyny wirtualne czy kontenery Dockera? (203)
- Najważniejsze rozwiązania, dzięki którym kontenery są bezpieczne (206)
- Niemodyfikowalna infrastruktura (206)
- Izolacja zasobów (207)
- Przywileje administratora - skutki i dobre praktyki (208)
- Regulacja uprawnień użytkowników (208)
- SELinux i bezpieczeństwo kontenerów (210)
- Podpisywanie obrazów i weryfikacja za pomocą struktury TUF (214)
- Nowatorskie zabezpieczenia (215)
- Dobre praktyki zabezpieczania kontenerów (216)
- Wskazówki dotyczące bezpiecznego wdrażania kontenerów Dockera (218)
- Przyszłość bezpieczeństwa Dockera (219)
- Podsumowanie (220)
Rozdział 12. Platforma Docker - możliwości i przykładowe zastosowania (221)
- Opis kontenerów (222)
- Charakterystyka kontenerów Dockera (222)
- Funkcje platformy Docker (225)
- Komponenty rozwijającej się platformy Docker (226)
- Konsekwencje korzystania z technologii Dockera (227)
- Nowoczesne rozwijanie projektów (227)
- Architektura mikrousług i kontenery Dockera (228)
- Optymalizacja infrastruktury (229)
- Wprowadzanie metodyki DevOps (230)
- Ciągła integracja i ciągłe wdrażanie (231)
- Ciągłe dostarczanie (232)
- Przyśpieszanie modernizacji prac (234)
- Przykładowe zastosowania platformy Docker (237)
- Integracja kontenerów - tworzenie przepływu pracy (237)
- Docker w aplikacjach HPC i TC (237)
- Podsumowanie (239)
Skorowidz (241)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-3975-0 |
Rozmiar pliku: | 9,1 MB |