Докер. Практическое применение. 2-е издание
Товар
- 0 раз купили
- 4.79 оценка
- 1 осталось
- 19 отзывов
Доставка
Характеристики
Описание
Docker. Praktyczne zastosowania. Wydanie II
Sean P. Kane, Karl Matthias
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!
O autorach
Sean Kane jest starszym inżynierem w firmie New Relic. Ma wieloletnie doświadczenie w utrzymywaniu aplikacji produkcyjnych w rozmaitych dziedzinach przemysłu. Zajmował się kwestiami bezpieczeństwa systemów oraz automatyzacją sprzętową. Mieszka na północno-zachodnim wybrzeżu Stanów Zjednoczonych z rodziną, lubi podróżować i fotografować.
Karl Matthias jest głównym inżynierem systemowym w firmie Nitro Software. Pracował jako programista, administrator systemów oraz inżynier sieciowy w różnych firmach. Mieszka w Dublinie w Irlandii. Lubi spędzać czas z rodziną, kręcić filmy starymi kamerami i jeździć na rowerze.
Spis treści
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
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.