Читать книгу Docker w praktyce - Ian Miell - Страница 4

Spis treści

Оглавление

Przedmowa

Podziękowania

O książce

O ilustracji na okładcewydania w języku angielskim

Część I. Podstawy Dockera

1. Odkrywanie Dockera

1.1. Co i dlaczego, jeśli chodzi o Dockera

1.1.1. Czym jest Docker?

1.1.2. Do czego służy Docker?

1.1.3. Kluczowe pojęcia

1.2. Budowanie dockerowej aplikacji

1.2.1. Sposoby tworzenia nowego obrazu Dockera

1.2.2. Tworzenie Dockerfile

1.2.3. Budowanie dockerowego obrazu

1.2.4. Uruchamianie dockerowego kontenera

1.2.5. Warstwy w Dockerze

2. Zrozumieć Dockera: wewnątrz maszynowni

2.1. Architektura Dockera

2.2. Demon Dockera

TECHNIKA 1. Otwarcie demona Dockera na świat

TECHNIKA 2. Uruchamianie kontenerów jako demonów

TECHNIKA 3. Przenoszenie Dockera na inną partycję

2.3. Klient Dockera

TECHNIKA 4. Użycie socat do monitorowania ruchu przez API Dockera

TECHNIKA 5. Używanie Dockera w przeglądarce

TECHNIKA 6. Użycie portów do połączenia z kontenerami

TECHNIKA 7. Umożliwianie komunikacji kontenerom

TECHNIKA 8. Linkowanie kontenerów z izolacją portów

2.4. Rejestry Dockera

Technika 9. Konfigurowanie lokalnego rejestru Dockera

2.5. Docker Hub

TECHNIKA 10. Znajdowanie i uruchamianie dockerowego obrazu

Część II. Docker i rozwój

3. Użycie Dockera jako lekkiej maszyny wirtualnej

3.1. Od maszyny wirtualnej do kontenera

TECHNIKA 11. Konwertowanie maszyny wirtualnej do kontenera

TECHNIKA 12. Kontenery jak hosty

TECHNIKA 13. Dzielenie systemu na mikrousługowe kontenery

TECHNIKA 14. Zarządzanie uruchamianiem usług w kontenerze

3.2. Zapisywanie i przywracanie pracy

TECHNIKA 15. Podejście „zapisz grę”: tania kontrola źródeł

TECHNIKA 16. Tagowanie w Dockerze

TECHNIKA 17. Udostępnianie obrazów w Docker Hub

TECHNIKA 18. Odwoływanie się do konkretnego obrazu w trakcie budowania

3.3. Środowiska jako procesy

TECHNIKA 19. Podejście „zapisz grę”: wygrana w 2048

4 . Budowanie obrazów

4.1. Budowanie obrazów

TECHNIKA 20. Wstrzykiwanie plików do obrazu z użyciem ADD

TECHNIKA 21. Przebudowa bez pamięci podręcznej

TECHNIKA 22. Odświeżanie pamięci podręcznej

TECHNIKA 23. Inteligentne odświeżanie pamięci podręcznej za pomocą argumentów budowania

TECHNIKA 24. Inteligentne odświeżanie pamięci podręcznej z użyciem dyrektywy ADD

TECHNIKA 25. Ustawianie w kontenerach właściwej strefy czasowej

TECHNIKA 26. Zarządzanie ustawieniami lokalnymi

TECHNIKA 27. Krokowe przechodzenie przez warstwy w obrazie

TECHNIKA 28. Onbuild oraz golang

5. Uruchamianie kontenerów

5.1. Uruchamianie kontenerów

TECHNIKA 29. Uruchamianie GUI w Dockerze

TECHNIKA 30. Kontrolowanie kontenerów

TECHNIKA 31. Zabijanie kontenerów wraz ze sprzątaniem

TECHNIKA 32. Użycie Docker Machine do udostępniania hostów Dockera

TECHNIKA 33. DNS wildcard

5.2. Woluminy – problem z trwałością

TECHNIKA 34. Woluminy Dockera: problemy z trwałością

TECHNIKA 35. Rozproszone woluminy z Resilio Sync

TECHNIKA 36. Zachowywanie historii basha swojego kontenera

TECHNIKA 37. Kontenery danych

TECHNIKA 38. Zdalne montowanie woluminów z użyciem SSHFS

TECHNIKA 39. Udostępnianie danych przez NFS

TECHNIKA 40. Kontenery z narzędziami deweloperskimi

6. Codzienność z Dockerem

6.1. Utrzymywanie porządku

TECHNIKA 41. Uruchamianie Dockera bez sudo

TECHNIKA 42. Sprzątanie kontenerów

TECHNIKA 43. Sprzątanie woluminów

TECHNIKA 44. Odłączanie się od kontenerów bez ich zatrzymywania

TECHNIKA 45. Używanie Portainera do zarządzania demonem Dockera

TECHNIKA 46. Generowanie diagramu zależności dla obrazów Dockera

TECHNIKA 47. Działanie bezpośrednie: wykonywanie poleceń w kontenerze

TECHNIKA 48. Czy jesteśmy w kontenerze Dockera?

7. Zarządzanie konfiguracją: utrzymywanie ładu

7.1. Zarządzanie konfiguracją i Dockerfile

TECHNIKA 49. Tworzenie niezawodnych, indywidualnych narzędzi z ENTRYPOINT

TECHNIKA 50. Zapobieganie aktualizacji pakietów przez określanie wersji

TECHNIKA 51. Zamiana tekstu za pomocą perl -p -i -e

TECHNIKA 52. Spłaszczanie obrazów

TECHNIKA 53. Zarządzanie obcymi pakietami za pomocą Aliena

7.2. Tradycyjne narzędzia do zarządzania konfiguracją w Dockerze

TECHNIKA 54. Tradycyjnie: Użycie make z Dockerem

TECHNIKA 55. Budowanie obrazów z Chef Solo

7.3. Małe jest piękne

TECHNIKA 56. Sztuczki ułatwiające zmniejszenie obrazu

TECHNIKA 57. Małe dockerowe obrazy z użyciem BusyBox i Alpine

TECHNIKA 58. Model Go minimalistycznych kontenerów

TECHNIKA 59. Użycie inotifywait do odchudzania kontenerów

TECHNIKA 60. Duże też może być piękne

Część III. Docker i DevOps

8. Ciągła integracja: przyspieszanie procesu rozwoju

8.1. Zautomatyzowane budowanie z Docker Hub

TECHNIKA 61. Wykorzystanie procesów Docker Hub

8.2. Bardziej efektywne budowanie

TECHNIKA 62. Przyspieszanie z użyciem eatmydata procesów budowania intensywnie wykorzystujących operacje I/O

TECHNIKA 63. Konfigurowanie pamięci podręcznej pakietów w celu szybszego budowania

TECHNIKA 64. Uproszczony Chrome w kontenerze

TECHNIKA 65. Uruchamianie testów Selenium wewnątrz Dockera

8.3. Konteneryzacja procesu CI

TECHNIKA 66. Uruchamianie węzła głównego Jenkinsa w kontenerze Dockera

TECHNIKA 67. Tworzenie złożonego środowiska deweloperskiego

TECHNIKA 68. Skalowanie procesu CI za pomocą wtyczki Jenkinsa – Swarm

TECHNIKA 69. Bezpieczna aktualizacja skonteneryzowanego serwera Jenkinsa

9. Ciągłe dostarczanie: idealne dopasowanie do zasad Dockera

9.1. Interakcja z innymi zespołami w strumieniu CD

TECHNIKA 70. Dockerowy kontrakt: zmniejszanie tarć

9.2. Ułatwianie wdrażania dockerowych obrazów

TECHNIKA 71. Manualne dublowanie obrazów w rejestrach

TECHNIKA 72. Dostarczanie obrazów przez połączenia o ograniczonej przepustowości

TECHNIKA 73. Udostępnianie obiektów Dockera jako plików TAR

9.3. Konfigurowanie obrazów dla różnych środowisk

TECHNIKA 74. Informowanie kontenerów za pomocą etcd

9.4. Aktualizacja kontenerów w trakcie ich działania

TECHNIKA 75. Użycie confd do wprowadzenia przełączeń bez przestojów

10. Symulacja sieci: realistyczne i bezbolesne testowanie środowiska

10.1. Komunikacja kontenerów: więcej niż ręczne linkowanie

TECHNIKA 76. Prosty klaster Docker Compose

TECHNIKA 77. Użycie Docker Compose do serwera SQLite

10.2. Używanie Dockera do symulacji sieci w świecie rzeczywistym

TECHNIKA 78. Symulowanie kłopotliwych sieci za pomocą Comcast

TECHNIKA 79. Symulowanie problematycznych sieci za pomocą Blockade

10.3. Docker oraz sieci wirtualne

TECHNIKA 80. Tworzenie kolejnej sieci wirtualnej w Dockerze

TECHNIKA 81. Konfigurowanie sieci substratowej z użyciem Weave

Część IV. Orkiestracja – od pojedynczej maszyny do chmury

11. Elementarz orkiestracji kontenerów

11.1. Docker na pojedynczym hoście

TECHNIKA 82. Zarządzanie kontenerami na hoście za pomocą systemd

TECHNIKA 83. Orkiestrowanie uruchamiania kontenerów na hoście

11.2. Ręczne zarządzanie Dockerem na wielu hostach

TECHNIKA 84. Ręczne zarządzanie Dockerem na wielu hostach za pomocą Heliosa

11.3. Wykrywanie usług: co my tu mamy?

TECHNIKA 85. Użycie Consula do wykrywania usług

TECHNIKA 86. Automatyczna rejestracja usług z użyciem Registratora

12. Centrum danych jako system operacyjny z Dockerem

12.1. Docker na wielu hostach

TECHNIKA 87. Bezproblemowy klaster Dockera z trybem swarm

TECHNIKA 88. Korzystanie z klastra Kubernetesa

TECHNIKA 89. Dostęp do API Kubernetesa z poziomu poda

TECHNIKA 90. Używanie OpenShift do lokalnego uruchamiania API AWS

TECHNIKA 91. Budowanie frameworka na Mesosie

TECHNIKA 92. Mikrozarządzanie Mesosem za pomocą Marathona

13. Platformy Dockera

13.1. Czynniki wyboru w organizacjach

13.1.1. Czas wprowadzenia na rynek

13.1.2. Kupno czy budowa

13.1.3. Monolityczne czy fragmentaryczne

13.1.4. Open source czy licencjonowane

13.1.5. Podejście do bezpieczeństwa

13.1.6. Niezależność konsumenta

13.1.7. Strategia chmurowa

13.1.8. Struktura organizacyjna

13.1.9. Wiele platform?

13.1.10. Podsumowanie czynników organizacyjnych

13.2. Co należy rozważyć przy adaptowaniu Dockera

13.2.1. Bezpieczeństwo i kontrola

13.2.2. Budowanie i dostarczanie obrazów

13.2.3. Uruchamianie kontenerów

13.3. Dostawcy, organizacje i produkty

13.3.1. The Cloud Native Computing Foundation (CNCF)

13.3.2. Firma Docker Inc.

13.3.3. Google

13.3.4. Microsoft

13.3.5. Amazon

13.3.6. Red Hat

Część V. Docker na produkcji

14. Docker i bezpieczeństwo

14.1. Dostęp do Dockera i co to oznacza

14.1.1. Czy nas to interesuje?

14.2. Środki bezpieczeństwa w Dockerze

TECHNIKA 93. Ograniczanie uprawnień

TECHNIKA 94. Skanowanie „złego” obrazu Dockera

14.3. Zabezpieczanie dostępu do Dockera

TECHNIKA 95. Autoryzacja HTTP w instancji Dockera

TECHNIKA 96. Zabezpieczanie API Dockera

14.4. Bezpieczeństwo na zewnątrz Dockera

TECHNIKA 97. Zmniejszanie potencjalnych obszarów ataku na kontener za pomocą DockerSlim

TECHNIKA 98. Usuwanie danych poufnych dodanych podczas budowania

TECHNIKA 99. OpenShift: platforma aplikacji jako usługa

TECHNIKA 100. Korzystanie z opcji zabezpieczeń

15. Całkiem proste: uruchamianie Dockera na produkcji

15.1. Monitorowanie

TECHNIKA 101. Podłączanie kontenerów do sysloga hosta

TECHNIKA 102. Rejestrowanie danych wyjściowych polecenia logs

TECHNIKA 103. Monitorowanie kontenerów za pomocą cAdvisor

15.2. Kontrola zasobów

TECHNIKA 104. Ograniczanie liczby rdzeni, na których może działać kontener

TECHNIKA 105. Przyznawanie ważnym kontenerom dodatkowej mocy procesora

TECHNIKA 106. Ograniczanie wykorzystania pamięci przez kontener

15.3. Administracyjne przypadki użycia Dockera

TECHNIKA 107. Użycie Dockera do uruchamiania zadań crona

TECHNIKA 108. Podejście „zapisz grę” w stosunku do kopii zapasowych

16. Docker na produkcji:radzenie sobie z wyzwaniami

16.1. Wydajność: nie można ignorować otoczenia

TECHNIKA 109. Uzyskiwanie dostępu z kontenera do zasobów hosta

TECHNIKA 110. Wyłączenie OOM killera

16.2. Gdy pojawiają się problemy z kontenerami – debugowanie w Dockerze

TECHNIKA 111. Debugowanie sieci kontenera za pomocą nsenter

TECHNIKA 112. Używanie tcpflow do debugowania w locie bez konieczności rekonfiguracji

TECHNIKA 113. Debugowanie kontenerów, które nie działają na określonych hostach

TECHNIKA 114. Wyodrębnianie pliku z obrazu

Dodatek A Instalowanie i korzystanie z Dockera

Podejście oparte na maszynie wirtualnej

Klient Dockera podłączony do zewnętrznego serwera Dockera

Natywny klient Dockera i maszyna wirtualna

Docker w Windows

Uzyskiwanie pomocy

Dodatek B Konfiguracja Dockera

Konfigurowanie Dockera

Restartowanie Dockera

Dodatek C Vagrant

Konfigurowanie

Graficzne środowiska użytkownika

Pamięć

Przypisy

Docker w praktyce

Подняться наверх