Деталі електронної книги

Docker. Praktyczne zastosowania. Wydanie II

Docker. Praktyczne zastosowania. Wydanie II

Sean P. Kane, Karl Matthias

Eлектронна книга

Docker jest nową technologią, która radykalnie zmieniła podejście do wdrażania oprogramowania. Obrazy i kontenery Dockera upraszczają zarządzanie zależnościami, dzięki czemu testowanie, wdrażanie i skalowanie aplikacji staje się o wiele prostsze. W ciągu ostatnich lat Docker znacznie się rozwinął. Jest teraz bardzo stabilny i daje programistom wiele narzędzi do wyboru. W oczywisty sposób zwiększa to jego popularność wśród twórców dużych systemów. Niemniej zrozumieć działanie Dockera i nauczyć się wykorzystywać go w poprawny sposób - to nie jest trywialne i wymaga wysiłku.

Oto kolejne - zaktualizowane i uzupełnione - wydanie praktycznego przewodnika, dzięki któremu szybko nauczysz się korzystać z Dockera. Wyjaśniono tu podstawy jego działania, pokazano praktyczne techniki wdrażania i testowania kontenerów Dockera, przedstawiono także podstawowe wewnętrzne procesy kontenerów. Z książki dowiesz się, jak przygotować pakiet aplikacji ze wszystkimi ich zależnościami, a następnie przetestować go, wdrożyć, skalować oraz utrzymywać w środowiskach produkcyjnych. Znajdziesz tu również nowy rozdział na temat Docker Compose, głębsze omówienie trybu Docker Swarm, wprowadzenie do Kubernetes, a także przykłady optymalizacji obrazów Dockera i wiele innych przydatnych informacji.

W tej książce między innymi:

  • solidne wprowadzenie do Dockera oraz przygotowanie środowiska pracy
  • debugowanie obrazów i kontenerów Dockera
  • sprawne wdrażanie aplikacji w środowiskach produkcyjnych
  • wdrażanie kontenerów w publicznych i prywatnych chmurach
  • standardy branżowe przy projektowaniu oprogramowania w Dockerze

Docker. Koniec problemów z zależnościami w aplikacjach!


Przedmowa 11

Wstęp 13

1. Wprowadzenie 19

  • Co obiecuje Docker 19
    • Korzyści płynące ze stosowania procesów proponowanych przez Dockera 21
  • Czym Docker nie jest 23
  • Ważne pojęcia 24
  • Podsumowanie 25

2. Docker i jego otoczenie 27

  • Upraszczanie procesów 27
  • Duże wsparcie i wykorzystanie 30
  • Architektura 31
    • Model klient-serwer 32
    • Porty sieciowe i gniazdka Unix 32
    • Rozbudowane narzędzia 33
    • Tekstowy klient Dockera 33
    • API Docker Engine 34
    • Sieć w kontenerze 35
  • Najlepsze zastosowania Dockera 36
    • Kontenery to nie maszyny wirtualne 37
    • Ograniczona izolacja 37
    • Kontenery są lekkie 38
    • Dążenie do niezmienności infrastruktury 39
    • Aplikacje bezstanowe 39
    • Przenoszenie informacji o stanie na zewnątrz 40
  • Schemat pracy z Dockerem 41
    • Wersjonowanie 41
    • Budowanie 42
    • Testowanie 43
    • Tworzenie pakietów 44
    • Wdrażanie 44
    • Ekosystem Dockera 45
  • Podsumowanie 47

3. Instalacja Dockera 49

  • Klient Dockera 50
    • Linux 50
    • macOS, Mac OS X 52
    • Microsoft Windows 10 52
  • Serwer Dockera 53
    • Linux korzystający z systemd 53
    • Serwery na maszynach wirtualnych 53
  • Testowanie 61
    • Ubuntu 62
    • Fedora 62
    • Alpine Linux 62
  • Poznajemy serwer Dockera 62
  • Podsumowanie 64

4. Praca z obrazami Dockera 65

  • Anatomia pliku Dockerfile 65
  • Budowanie obrazu 68
  • Usuwanie problemów z obrazami 71
  • Uruchamianie zbudowanego obrazu 73
    • Zmienne środowiska 74
  • Własne obrazy bazowe 75
  • Zapisywanie obrazów 76
    • Publiczne rejestry 76
    • Rejestry prywatne 77
    • Autoryzacja w rejestrze 77
    • Uruchamianie własnego rejestru 80
  • Zaawansowane techniki budowania obrazów 84
    • Utrzymywanie małych obrazów 84
    • Warstwy są addytywne 90
    • Optymalizowanie pamięci podręcznej 92
  • Podsumowanie 96

5. Praca z kontenerami Dockera 97

  • Czym jest kontener? 97
    • Historia kontenerów 98
  • Tworzenie kontenera 99
    • Podstawowa konfiguracja 100
    • Magazyny danych 103
    • Przydzielanie zasobów 105
  • Uruchamianie kontenera 113
  • Automatyczne restartowanie kontenera 114
  • Zatrzymywanie kontenera 115
  • Wymuszanie zakończenia pracy kontenera 116
  • Pauzowanie i wznawianie pracy kontenera 117
  • Czyszczenie kontenerów i obrazów 118
  • Kontenery Windows 120
  • Podsumowanie 122

6. Poznawanie Dockera 123

  • Wyświetlanie wersji Dockera 123
  • Informacje o serwerze 125
  • Pobieranie aktualizacji obrazów 126
  • Pobieranie informacji o kontenerze 127
  • Wykorzystanie powłoki 128
  • Zwracanie wyniku 129
  • Wnętrze działającego kontenera 130
    • docker exec 131
    • nsenter 132
    • docker volume 134
  • Logi 136
    • Polecenie docker logs 136
    • Zaawansowane mechanizmy obsługi logów 138
    • Inne opcje 140
  • Monitorowanie Dockera 141
    • Statystyki kontenerów 141
    • Sprawdzanie stanu kontenera 145
    • docker events 147
    • cAdvisor 149
  • Prometheus 152
  • Dalsze eksperymenty 155
  • Podsumowanie 155

7. Debugowanie kontenerów 157

  • Dane generowane przez proces 157
  • Przeglądanie procesów 161
  • Kontrolowanie procesów 162
  • Przeglądanie sieci 165
  • Historia obrazów 167
  • Przeglądanie kontenera 168
  • Przeglądanie systemu plików 169
  • Podsumowanie 170

8. Docker Compose 171

  • Konfigurowanie Docker Compose 172
  • Uruchamianie usług 178
  • Poznajemy RocketChat 180
  • Ćwiczenia z Docker Compose 187
  • Podsumowanie 189

9. Tworzenie kontenerów produkcyjnych 191

  • Wdrażanie produkcyjne 191
  • Rola Dockera w środowisku produkcyjnym 192
    • Kontrola zadań 193
    • Kontrola zasobów 194
    • Sieć 194
    • Konfiguracja 195
    • Tworzenie i dostarczanie pakietów 195
    • Zapisywanie logów 195
    • Monitorowanie 196
    • Planowanie 196
    • Odkrywanie usług 199
    • Podsumowanie środowisk produkcyjnych 200
  • Docker i DevOps 201
    • Szybki przegląd 201
    • Zewnętrzne zależności 204
  • Podsumowanie 204

10. Skalowanie Dockera 205

  • Centurion 206
  • Tryb Docker Swarm 211
  • Amazon ECS i Fargate 219
    • Podstawy AWS 220
    • Konfiguracja IAM 220
    • Przygotowanie AWS CLI 221
    • Instancje kontenerów 222
    • Zadania 223
    • Testowanie zadania 229
    • Zatrzymywanie zadania 230
  • Kubernetes 231
    • Czym jest Minikube? 232
    • Instalowanie Minikube 232
    • Uruchomienie Kubernetes 235
    • Panel kontrolny Kubernetes 236
    • Kontenery i pody Kubernetes 237
    • Uruchomienie 238
    • Wdrażanie rzeczywistego stosu 240
    • Definicja usługi 241
    • Definicja PersistentVolumeClaim 242
    • Definicja wdrożenia 243
    • Wdrażanie aplikacji 244
    • Skalowanie 246
    • API kubectl 247
  • Podsumowanie 249

11. Zagadnienia zaawansowane 251

  • Szczegółowo o kontenerach 251
    • cgroups 252
    • Przestrzenie nazw 255
  • Bezpieczeństwo 259
    • UID 0 260
    • Kontenery uprzywilejowane 263
    • seccomp 265
    • SELinux i AppArmor 269
    • Demon Dockera 270
  • Zaawansowana konfiguracja 272
    • Sieć 272
  • Magazyny danych 278
  • Architektura Dockera 281
  • Wymiana środowisk uruchomieniowych 285
    • gVisor 288
  • Podsumowanie 290

12. Projektowanie platformy dla kontenerów 291

  • The Twelve-Factor App 292
    • Repozytorium kodów 292
    • Zależności 292
    • Konfiguracja 294
    • Usługi pomocnicze 295
    • Budowanie, udostępnianie, uruchamianie 296
    • Procesy 296
    • Wykorzystanie portów 297
    • Współbieżność 297
    • Dyspozycyjność 298
    • Podobieństwo środowiska programistycznego i produkcyjnego 298
    • Logi 298
    • Procesy administracyjne 299
    • Podsumowanie Twelve-Factor 299
  • The Reactive Manifesto 300
    • Responsywność 300
    • Stabilność 300
    • Elastyczność 300
    • Obsługa komunikatów 300
  • Podsumowanie 301

13. Wnioski 303

  • Wyzwania 303
  • Przepływ pracy w Dockerze 304
  • Minimalizowanie liczby artefaktów do wdrożenia 304
  • Optymalizacja przechowywania i przesyłania danych 305
  • Korzyści 305
  • Słowo końcowe 306

Skorowidz 307

  • Назва: Docker. Praktyczne zastosowania. Wydanie II
  • Автор: Sean P. Kane, Karl Matthias
  • Оригінальна назва: Docker: Up & Running: Shipping Reliable Containers in Production, 2nd Edition
  • Переклад: Andrzej Stefański
  • ISBN: 978-83-283-5605-4, 9788328356054
  • Дата видання: 2019-08-27
  • Формат: Eлектронна книга
  • Ідентифікатор видання: docke2
  • Видавець: Helion