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

o książce

Оглавление

Docker jest prawdopodobnie najszybciej rozwijającym się projektem software’owym w historii. Udostępniony w marcu 2013 r., w 2018 r. uzyskał prawie 50 000 gwiazdek w GitHubie i ponad 14 000 kopii repozytorium. W przypadku Dockera pojawiło się bardzo dużo żądań pobrań, z miejsc takich jak Red Hat, IBM, Microsoft, Google, Cisco i VMWare.

Docker osiągnął tę masę krytyczną, odpowiadając na istotne potrzeby wielu organizacji zajmujących się oprogramowaniem: możliwości budowania oprogramowania w sposób otwarty i elastyczny, a następnie niezawodnego i spójnego wdrażania w różnych kontekstach. Nie musimy uczyć się nowego języka programowania, kupować drogiego sprzętu lub wkładać wiele wysiłku w instalację oraz konfigurację, aby budować, dostarczać i uruchamiać aplikacje w Dockerze.

Docker w praktyce, wydanie drugie, przeprowadza przez rzeczywiste przykłady użycia Dockera przy użyciu technik zastosowanych w różnych kontekstach. Tam, gdzie było to możliwe, staraliśmy się wyjaśnić te techniki bez konieczności wcześniejszej znajomości innych technologii. Założyliśmy, że czytelnicy rozumieją podstawowe techniki i koncepcje programistyczne, takie jak umiejętność tworzenia zestrukturyzowanego kodu, oraz mają świadomość procesów tworzenia i wdrażania oprogramowania. Ponadto przyjęliśmy założenie związane z posiadaniem wiedzy na temat podstawowych idei dotyczących systemów kontroli źródeł oraz podstaw sieci, takich jak TCP/IP, HTTP i porty. Inne rzeczy spoza tego głównego nurtu zostaną wyjaśnione w trakcie kolejnych rozdziałów.

W części I zaczniemy od przeglądu podstaw Dockera, w części II skupimy się na wykorzystaniu Dockera w eksploatacji na pojedynczej maszynie. W części III przejdziemy do używania Dockera w strumieniu DevOps, obejmującym ciągłą integrację, ciągłe dostarczanie i testowanie. Część IV opisuje sposób uruchamiania kontenerów Dockera w sposób skalowalny wraz z orkiestracją. Ostatnia część dotyczy uruchamiania Dockera na produkcji, koncentrując się na możliwościach odnoszących się do standardowych działań produkcyjnych, a także na tym, co może pójść źle i jak sobie z tym poradzić.

Docker jest tak szerokim, elastycznym i dynamicznym narzędziem, że nadążanie za szybko zmieniającym się otoczeniem nie jest dla osób o słabym sercu. Dołożyliśmy starań, aby umożliwić zrozumienie jego najistotniejszych pojęć przez rzeczywiste aplikacje i przykłady w celu umożliwienia pewnej krytycznej oceny przyszłych narzędzi i technologii w ekosystemie Dockera. Staraliśmy się, aby książka była przyjemną podróżą po wielu drogach, które Docker uczynił w naszym życiu łatwiejszymi, a nawet zabawniejszymi. Zagłębienie się w Dockerze zetknęło nas z wieloma interesującymi technikami oprogramowania obejmującymi w stymulujący sposób cały cykl jego życia. Mamy nadzieję, że jest to doświadczenie, którym warto się podzielić.

Mapa drogowa

Książka składa się z 16 rozdziałów podzielonych na pięć części.

Część I stanowi podstawę dla reszty książki, wprowadzając Dockera oraz kilka jego podstawowych poleceń. Rozdział 2 poświęca trochę czasu na zapoznanie z architekturą klient-serwer Dockera i sposobem jej debugowania, co może być przydatne do identyfikowania problemów z niekonwencjonalnymi ustawieniami.

Część II skupia się na zapoznaniu się z Dockerem i jego maksymalnym wykorzystaniu na własnej maszynie. Analogia ze znanym pojęciem maszyn wirtualnych jest używana jako podstawa rozdziału 3, w celu wskazania łatwiejszej drogi do rozpoczęcia korzystania z Dockera. W rozdziałach 4, 5 i 6 wyszczególniono kilka technik Dockera, z których na podstawie naszego doświadczenia najczęściej korzysta się na co dzień do tworzenia i uruchamiania obrazów oraz zarządzania samym Dockerem. Ostatni rozdział w tej części omawia temat budowania obrazów w bardziej szczegółowy sposób, zwracając uwagę na techniki zarządzania konfiguracją.

Część III rozpoczyna przegląd zastosowań Dockera w kontekście DevOps, począwszy od używania go do automatyzacji kompilacji oprogramowania i testów, a skończywszy na przenoszeniu zbudowanego oprogramowania w różne miejsca. Ta część kończy się rozdziałem na temat wirtualnej sieci Dockera, wprowadzając Docker Compose oraz obejmuje kilka bardziej zaawansowanych tematów sieciowych, takich jak symulacja sieci i wtyczki sieciowe Dockera.

Część IV bada temat orkiestracji kontenerów. Zabiera w podróż, począwszy od jednego kontenera na pojedynczym hoście do platformy opartej na Dockerze działającej w „centrum danych jako systemie operacyjnym”. Rozdział 13 to obszerna dyskusja na temat obszarów, które należy wziąć pod uwagę przy wyborze platformy opartej na Dockerze. Stanowi on także przewodnik po tym, na co architekci w organizacji zwracają uwagę podczas wdrażania takich technologii.

Część V obejmuje kilka tematów dotyczących efektywnego korzystania z Dockera w środowis­ku produkcyjnym. Rozdział 14 dotyczy ważnego tematu związanego z bezpieczeństwem, wyjaśniając, jak zablokować procesy uruchomione w kontenerze i jak ograniczyć dostęp do zewnętrznego demona Dockera. Ostatnie dwa rozdziały zawierają szczegółowe informacje na temat kluczowych praktycznych aspektów dotyczących uruchamiania Dockera na produkcji. Rozdział 15 pokazuje, jak zastosować klasyczną wiedzę sysadmina w kontekście kontenerów, w zakresie od rejestrowania do limitowania zasobów, natomiast rozdział 16 analizuje niektóre z możliwych do napotkania problemów oraz wskazuje kilka możliwych kroków w celu ich debugowania i rozwiązywania.

Załączniki zawierają szczegóły dotyczące instalowania, używania i konfigurowania Dockera na różne sposoby, w tym wewnątrz maszyny wirtualnej i w systemie Windows.

O kodzie

Kod źródłowy wszystkich narzędzi, aplikacji i obrazów Dockera stworzonych do wykorzystania w tej książce jest dostępny w GitHubie w organizacji „docker-in-practice”: https://github.com/docker-in-practice/. Obrazy w Docker Hub pod użytkownikiem „dockerinpractice” https://hub.docker.com/u/dockerinpractice/ są zazwyczaj automatycznie zbudowanymi poszczególnymi repozytoriami GitHub. Tam, gdzie czuliśmy, że czytelnik może być zainteresowany dalszym studiowaniem kodu źródłowego, w dyskusji dotyczącej danej techniki dodawaliśmy link do odpowiedniego repozytorium. Kod źródłowy jest również dostępny na stronie wydawcy pod adresem www.manning.com/books/docker-in-practice-second-edition.

Znaczna liczba listingów kodu w książce umożliwia czytelnikowi śledzenie sesji terminalowych, wraz z odpowiednimi wynikami poleceń. W kontekście tych sesji należy zwrócić uwagę na kilka kwestii:

 Długie polecenia terminala mogą używać znaku kontynuacji linii powłoki, (\), aby umożliwić podzielenie polecenia na wiele linii. Chociaż, jeśli zostanie to wpisane w takiej postaci, będzie działało w powłoce, ale można te znaki także pominąć i wprowadzić polecenie w jednym wierszu.

 Jeżeli pewna część wyników nie będzie dostarczać dodatkowych przydatnych informacji do dyskusji, to będziemy ją pomijać, a w ich miejscu zostanie wstawiony symbol wielokropka ([…]).

Forum książki

Zakup Docker w praktyce umożliwia bezpłatny dostęp do prywatnego forum internetowego prowadzonego przez Manning Publications, gdzie można zamieszczać komentarze na temat książki, zadawać pytania techniczne i otrzymywać pomoc od autorów i innych użytkowników. Aby uzys­kać dostęp do forum, należy przejść do strony https://forums.manning.com/forums/docker-in-practice-second-edition. Więcej o forach Manninga i zasadach korzystania można także dowiedzieć się na https://forums.manning.com/forums/about.

Zobowiązanie Manninga względem swoich czytelników polega na zapewnieniu miejsca, w którym może odbywać się konstruktywny dialog między poszczególnymi czytelnikami oraz między czytelnikami a autorami. Nie jest to zobowiązanie do konkretnej formy uczestnictwa ze strony autorów, których wkład na forum pozostaje dobrowolny (i niepłatny). Sugerujemy zadawanie im wielu wymagających pytań, aby dzięki temu mogli zgłębiać temat!

Docker w praktyce

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