E-book details

Docker. Niezawodne kontenery produkcyjne. Praktyczne zastosowania. Wydanie III

Docker. Niezawodne kontenery produkcyjne. Praktyczne zastosowania. Wydanie III

Sean Kane, Karl Matthias

Ebook

Docker radykalnie zmienił proces wdrażania oprogramowania. Obrazy i kontenery Dockera ułatwiają zarządzanie zależnościami, co uprościło testowanie, wdrażanie i skalowanie aplikacji. Technologia ta intensywnie się rozwija, wciąż zmieniają się dostępne narzędzia i zalecane praktyki. To wszystko sprawia, że dogłębne zrozumienie działania współczesnego Dockera nie jest trywialnym zadaniem.

Dowiedz się, jak budować nowoczesne, niezawodne systemy rozproszone o wysokiej dostępności.

Mihai Todor, TLCP

To gruntownie zaktualizowane i uzupełnione wydanie praktycznego przewodnika po wdrażaniu i testowaniu kontenerów Dockera. Przedstawia proces przygotowania pakietu aplikacji ze wszystkimi ich zależnościami, a także jego testowania, wdrażania, skalowania i utrzymywania w środowiskach produkcyjnych. Zawiera omówienie Docker Compose i trybu Docker Swarm, opis zagadnień związanych z Kubernetes, jak również przykłady optymalizacji obrazów Dockera. W tym wydaniu zaprezentowano ponadto najlepsze praktyki i narzędzie BuildKit, opisano wsparcie obrazów wieloarchitekturowych, kontenerów rootless i uwzględniono wiele innych ważnych informacji.

W książce między innymi:

  • integracja Dockera i kontenerów linuksowych z usługami chmurowymi i Kubernetes
  • zarządzanie kontenerami linuksowymi z poziomu wiersza poleceń
  • tworzenie i stosowanie obrazów OCI
  • sprawne wdrażanie aplikacji w środowiskach produkcyjnych
  • wdrażanie kontenerów linuksowych w publicznych i prywatnych chmurach

Ucz się z bezcennych praktycznych lekcji zebranych podczas wdrażania Dockera na dużą skalę!

Liz Rice, Isovalent

 

Ta książka wykracza poza pierwsze fascynacje Dockerem i przygotuje Cię do rzeczywistych wyzwań!

Kelsey Hightower, Google Cloud Platform

Przedmowa

Wstęp

1. Wprowadzenie

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

2. Docker i jego otoczenie

  • Upraszczanie procesów
  • Duże wsparcie i szerokie wykorzystanie
  • Architektura
    • Model klient-serwer
    • Porty sieciowe i gniazdka Unix
    • Rozbudowane narzędzia
    • Tekstowy klient Dockera
    • API Docker Engine
    • Sieć w kontenerze
  • Najlepsze zastosowania Dockera
    • Kontenery to nie maszyny wirtualne
    • Ograniczona izolacja
    • Kontenery są lekkie
    • Dążenie do niezmienności infrastruktury
    • Aplikacje bezstanowe
    • Przenoszenie informacji o stanie na zewnątrz
  • Schemat pracy z Dockerem
    • Wersjonowanie
    • Budowanie
    • Testowanie
    • Tworzenie pakietów
    • Wdrażanie
    • Ekosystem Dockera
  • Podsumowanie

3. Instalacja Dockera

  • Klient Dockera
    • Linux
    • macOS, Mac OS X
    • Microsoft Windows 11
  • Serwer Dockera
    • Linux korzystający z systemd
    • Serwery na maszynach wirtualnych
  • Testowanie
    • Ubuntu
    • Fedora
    • Alpine Linux
  • Poznajemy serwer Dockera
  • Podsumowanie

4. Praca z obrazami Dockera

  • Anatomia pliku Dockerfile
  • Budowanie obrazu
  • Uruchamianie zbudowanego obrazu
    • Parametry budowania
    • Zmienne środowiska jako konfiguracja
  • Własne obrazy bazowe
  • Zapisywanie obrazów
    • Publiczne rejestry
    • Rejestry prywatne
    • Autoryzacja w rejestrze
    • Uruchamianie własnego rejestru
  • Optymalizowanie obrazów
    • Utrzymywanie małych obrazów
    • Warstwy są addytywne
    • Korzystanie z pamięci podręcznej dla warstw
    • Pamięć podręczna dla katalogów
  • Usuwanie problemów z obrazami
    • Naprawianie obrazów pre-BuildKit
    • Naprawianie obrazów BuildKita
  • Budowanie dla wielu architektur
  • Podsumowanie

5. Praca z kontenerami

  • Czym jest kontener?
    • Historia kontenerów
  • Tworzenie kontenera
    • Podstawowa konfiguracja
    • Magazyny danych
    • Przydzielanie zasobów
  • Uruchamianie kontenera
  • Automatyczne restartowanie kontenera
  • Zatrzymywanie kontenera
  • Wymuszanie zakończenia pracy kontenera
  • Pauzowanie i wznawianie pracy kontenera
  • Czyszczenie kontenerów i obrazów
  • Kontenery windowsowe
  • Podsumowanie

6. Poznawanie Dockera

  • Wyświetlanie wersji Dockera
  • Informacje o serwerze
  • Pobieranie aktualizacji obrazów
  • Pobieranie informacji o kontenerze
  • Wykorzystanie powłoki
  • Zwracanie wyniku
  • Wnętrze działającego kontenera
    • docker container exec
    • docker volume
  • Logi
    • Polecenie docker container logs
    • Zaawansowane mechanizmy obsługi logów
  • Monitorowanie Dockera
    • Statystyki kontenerów
    • Sprawdzanie stanu kontenera
    • docker system events
    • cAdvisor
  • Prometheus
  • Dalsze eksperymenty
  • Podsumowanie

7. Debugowanie kontenerów

  • Dane generowane przez proces
  • Przeglądanie procesów
  • Kontrolowanie procesów
  • Przeglądanie sieci
  • Historia obrazów
  • Przeglądanie kontenera
  • Przeglądanie systemu plików
  • Podsumowanie

8. Docker Compose

  • Konfigurowanie Docker Compose
  • Uruchamianie usług
  • Poznajemy Rocket.Chat
  • Ćwiczenia z Docker Compose
  • Zarządzanie konfiguracją
    • Wartości domyślne
    • Wartości obowiązkowe
    • Plik dotenv
  • Podsumowanie

9. Tworzenie kontenerów produkcyjnych

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

10. Skalowanie kontenerów

  • Tryb Docker Swarm
  • Kubernetes
    • Minikube
    • Kubernetes zintegrowany z Docker Desktop
    • Kind
  • Amazon ECS i Fargate
    • Podstawy AWS
    • Konfiguracja IAM
    • Przygotowanie AWS CLI
    • Instancje kontenerów
    • Zadania
    • Testowanie zadania
    • Zatrzymywanie zadania
  • Podsumowanie

11. Zagadnienia zaawansowane

  • Szczegółowo o kontenerach
    • cgroups
    • Przestrzenie nazw
  • Bezpieczeństwo
    • UID 0
    • Tryb bez uprawnień roota
    • Kontenery uprzywilejowane
    • seccomp
    • SELinux i AppArmor
    • Demon Dockera
  • Zaawansowana konfiguracja
    • Sieć
  • Magazyny danych
  • nsenter
    • Debugowanie kontenerów niezawierających powłoki
  • Architektura Dockera
  • Wymiana środowisk uruchomieniowych
    • gVisor
  • Podsumowanie

12. Rozszerzający się krajobraz

  • Narzędzia klienckie
    • Nerdctl
    • podman i buildah
  • Zintegrowane narzędzia dla programistów
    • Rancher Desktop
    • Podman Desktop
  • Podsumowanie

13. Projektowanie platformy dla kontenerów

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

14. Wnioski

  • Perspektywy na przyszłość
  • Wyzwania
  • Przepływ pracy w Dockerze
  • Minimalizowanie liczby artefaktów do wdrożenia
  • Optymalizacja przechowywania i przesyłania danych
  • Korzyści
  • Słowo końcowe
  • Title: Docker. Niezawodne kontenery produkcyjne. Praktyczne zastosowania. Wydanie III
  • Author: Sean Kane, Karl Matthias
  • Original title: Docker: Up & Running: Shipping Reliable Containers in Production, 3rd Edition
  • Translation: Andrzej Stefański
  • ISBN: 978-83-289-0372-2, 9788328903722
  • Date of issue: 2024-01-09
  • Format: Ebook
  • Item ID: docpra
  • Publisher: Helion
  • Age category: 14+