|

DOCKER PRAKTYCZNE ZASTOSOWANIA
KARL M. KANE S.P. wydawnictwo: HELION , rok wydania 2019, wydanie IIcena netto: 61.95 Twoja cena 58,85 zł + 5% vat - dodaj do koszyka Docker
Praktyczne zastosowania
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!
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.
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
312 stron, oprawa miękka
Księgarnia nie działa. Nie odpowiadamy na pytania i nie realizujemy zamówien. Do odwolania !.
|