Cantitate/Preț
Produs

Docker: Rheinwerk Computing

Autor Bernd Öggl, Michael Kofler
de Limba Germană Hardback – 31 aug 2018

Metodologia propusă în lucrarea de față se concentrează pe o tranziție fluidă de la configurarea mediului local la arhitecturi complexe de producție. Găsim în această carte o abordare riguroasă a design-ului de imagini Docker prin utilizarea Dockerfile-urilor, dublată de strategii de testare și securitate, esențiale în peisajul actual DevOps. Reținem faptul că autorii, Michael Kofler și Bernd Öggl, nu se rezumă doar la aspectele teoretice ale containerizării, ci oferă soluții pentru troubleshooting și orchestrare.

Structura volumului reflectă o progresie logică: partea introductivă facilitează instalarea pe diverse sisteme de operare (Windows, macOS, Linux), trecând rapid către gestiunea volumelor de date și comunicarea între containere. Merită menționat că ediția a 5-a pune un accent sporit pe securitate, explorând concepte precum Rootless Docker, un pas critic pentru administratorii care doresc să reducă suprafața de atac. Comparativ cu Kubernetes de Brendan Burns, care se concentrează strict pe orchestrarea la scară largă, lucrarea de față este mai puțin abstractă și mult mai aplicabilă pentru fluxul zilnic de dezvoltare, acoperind întregul spectru de la Docker Desktop la deployment în cloud.

Poziționată în contextul operei lui Michael Kofler, această carte completează viziunea sa tehnică asupra infrastructurii, integrându-se perfect lângă titluri precum Scripting. Dacă lucrările sale anterioare despre Linux sau MySQL stabileau fundația administrării de sistem, Docker reprezintă puntea către modernizarea aplicațiilor prin microservicii și fluxuri automate de CI/CD. Cartea acoperă inclusiv integrarea cu baze de date și CMS-uri, oferind exemple practice pentru Gitlab și Grafana, ceea ce o transformă într-un instrument de lucru indispensabil în biblioteca oricărui inginer software.

Citește tot Restrânge

Din seria Rheinwerk Computing

Carte indisponibilă temporar

Doresc să fiu notificat când acest titlu va fi disponibil:

Specificații

ISBN-13: 9783836261760
ISBN-10: 3836261766
Pagini: 431
Dimensiuni: 172 x 246 x 30 mm
Greutate: 0.93 kg
Editura: Rheinwerk Verlag GmbH
Seria Rheinwerk Computing


De ce să citești această carte

Recomandăm această carte pentru abordarea sa practică și exhaustivă asupra ecosistemului de containere. Indiferent dacă sunteți dezvoltator sau administrator de sistem, veți câștiga o înțelegere profundă a modului în care Docker simplifică deployment-ul și scalarea. Este un ghid esențial pentru cei care doresc să stăpânească nu doar comenzile de bază, ci și securitatea avansată și orchestrarea cu Kubernetes, totul într-un format bine structurat și actualizat.


Despre autor

Michael Kofler deține un doctorat în informatică la Universitatea Tehnică din Graz și este unul dintre cei mai respectați autori de literatură tehnică din spațiul germanofon. Cu o experiență vastă ce cuprinde volume de referință despre Linux, MySQL și Visual Basic, Kofler reușește să traducă concepte complexe în ghiduri aplicabile. Expertiza sa în administrarea sistemelor și baze de date oferă lucrării Docker o profunzime tehnică rară, asigurându-se că cititorul primește informații validate prin practică îndelungată.


Descriere scurtă

Docker ist aus der modernen Softwareentwicklung nicht mehr
wegzudenken. Ob Sie Entwickler oder Administrator sind, ob Sie gerade
einsteigen oder bereits produktiv mit Software-Containern arbeiten:
Dieses Buch zeigt Ihnen nicht nur Docker und die Containerwelt, es
lässt Sie auch mit dem Troubleshooting und der Orchestrierung nicht
alleine. Inkl. Best Practices, umfangreichem Werkzeugkasten und vielen
Tipps zur Projektmigration, Container-Sicherheit, Docker ohne Root, Kubernetes, Docker Desktop, Podman und mehr.
Aus dem Inhalt:
  • Konzepte und Grundlagen
  • Docker-Kommandos
  • Eigene Docker-Images
  • Container-Sicherheit
  • Webserver und Tools
  • Datenbanksysteme
  • Programmiersprachen
  • Webapplikationen und CMS
  • Praxisbeispiele: Webapplikation, Grafana, Gitlab und mehr
  • Anwendungen migrieren
  • Deployment
  • Gitlab
  • Continuous Integration und Continuous Delivery
  • Orchestrierung mit Swarm und Kubernetes
  • Docker in der Cloud: AWS, Azure, Google Cloud

Die Fachpresse zur Vorauflage:

c't: »Insgesamt ist das Buch eine runde Sache. Es wendet sich an Entwickler und Admins, ist aber streckenweise auch für Entscheider interessant.«



Cuprins



Vorwort ... 11


TEIL I. Einführung ... 15


1. Hello World ... 17


1.1 ... Docker-Schnellinstallation ... 17

1.2 ... Apache mit PHP 8 ... 18

1.3 ... Node.js ... 21

1.4 ... Python ... 24

1.5 ... Fazit ... 25



2. Installation ... 27


2.1 ... Viele Wege führen zum Ziel ... 27

2.2 ... Docker-Installation unter Windows ... 31

2.3 ... Docker-Installation unter macOS ... 33

2.4 ... Docker-Installation unter Linux ... 34

2.5 ... Rootless Docker ... 38

2.6 ... Docker Desktop unter Linux ... 43

2.7 ... Podman installieren ... 45



3. Grundlagen ... 49


3.1 ... Grundlagen und Nomenklatur ... 49

3.2 ... Container ausführen ... 55

3.3 ... Container interaktiv verwenden ... 58

3.4 ... Portweiterleitung ... 65

3.5 ... Datenspeicherung in Volumes ... 68

3.6 ... Volumes mit Namen ... 75

3.7 ... Volumes in eigenen Verzeichnissen ... 76

3.8 ... Kommunikation zwischen mehreren Containern ... 78

3.9 ... Administration ... 85



4. Eigene Images ... 91


4.1 ... Hello, Dockerfile! ... 92

4.2 ... Dockerfile-Syntax ... 94

4.3 ... Ein eigenes Webserver-Image ... 100

4.4 ... Images in den Docker Hub hochladen ... 103

4.5 ... Multi-Arch-Images ... 106

4.6 ... Beispiel: Pandoc- und LaTeX-Umgebung als Image einrichten ... 109



5. Container-Setups mit »compose« ... 113


5.1 ... YAML-Syntax ... 115

5.2 ... Hello Compose! ... 116

5.3 ... Die Datei compose.yaml ... 123

5.4 ... Passwörter und andere Geheimnisse ... 131

5.5 ... Neue Projekte einrichten (docker init) ... 132



6. Tipps, Tricks und Interna ... 135


6.1 ... Docker Desktop und Podman Desktop ... 136

6.2 ... Visual Studio Code ... 139

6.3 ... Portainer ... 142

6.4 ... Pull-Limit im Docker Hub ... 144

6.5 ... Unterschiedliche CPU-Architekturen nutzen ... 149

6.6 ... Container automatisch starten ... 152

6.7 ... Docker-Interna ... 157

6.8 ... Podman-Interna ... 170



7. Kommandoreferenz ... 179


TEIL II. Werkzeugkasten ... 203


8. Alpine Linux ... 205


8.1 ... Merkmale ... 206

8.2 ... Paketverwaltung mit apk ... 209



9. Webserver und Co. ... 213


9.1 ... Apache HTTP Server ... 213

9.2 ... Nginx ... 219

9.3 ... Nginx als Reverse Proxy mit SSL-Zertifikaten von Let's Encrypt ... 222

9.4 ... Caddy ... 230

9.5 ... Node.js mit Express ... 232

9.6 ... HAProxy ... 237

9.7 ... Traefik-Proxy ... 239



10. Datenbanksysteme ... 245


10.1 ... MySQL und MariaDB ... 245

10.2 ... PostgreSQL ... 251

10.3 ... MongoDB ... 256

10.4 ... Redis ... 263



11. Programmiersprachen ... 267


11.1 ... JavaScript (Node.js) ... 267

11.2 ... Java ... 271

11.3 ... PHP ... 274

11.4 ... Ruby ... 280

11.5 ... Python ... 281

11.6 ... Go ... 288



12. Webapplikationen und CMS ... 297


12.1 ... WordPress ... 297

12.2 ... Nextcloud ... 305

12.3 ... Joomla ... 308



TEIL III. Praxis ... 311


13. Eine moderne Webapplikation ... 313


13.1 ... Die Anwendung ... 314

13.2 ... Das Frontend -- Vue.js ... 316

13.3 ... Der API-Server -- Node.js Express ... 326

13.4 ... Die MongoDB-Datenbank ... 336

13.5 ... Der Sessionspeicher -- Redis ... 341



14. Grafana ... 343


14.1 ... Grafana-Docker-Setup ... 344

14.2 ... Provisioning ... 354

14.3 ... Ein angepasstes Telegraf-Image ... 356



15. Modernisierung einer traditionellen Applikation ... 363


15.1 ... Die bestehende Applikation ... 364

15.2 ... Planung und Vorbereitung ... 366

15.3 ... Die Entwicklungsumgebung ... 380

15.4 ... Produktivumgebung und Migration ... 381

15.5 ... Updates ... 384

15.6 ... Tipps für die Umstellung ... 385

15.7 ... Fazit ... 386



16. GitLab ... 387


16.1 ... GitLab-Schnellstart ... 389

16.2 ... GitLab-Webinstallation ... 390

16.3 ... HTTPS über ein Reverse-Proxy-Setup ... 392

16.4 ... E-Mail-Versand ... 393

16.5 ... SSH-Zugriff ... 396

16.6 ... Volumes und Backup ... 397

16.7 ... Eigene Docker-Registry für GitLab ... 399

16.8 ... Die vollständige compose-Datei ... 401

16.9 ... GitLab verwenden ... 403

16.10 ... GitLab-Runner ... 407

16.11 ... Mattermost ... 410



17. Continuous Integration und Continuous Delivery ... 417


17.1 ... Die Website dockerbuch.info mit gohugo.io ... 418

17.2 ... Docker-Images für die CI/CD-Pipeline ... 423

17.3 ... Die CI/CD-Pipeline ... 426



18. Sicherheit ... 437


18.1 ... Softwareinstallation ... 437

18.2 ... Herkunft der Docker-Images ... 439

18.3 ... »root« in Docker-Images ... 442

18.4 ... Der Docker-Dämon ... 443

18.5 ... User Namespaces ... 445

18.6 ... cgroups ... 447

18.7 ... Secure Computing Mode ... 448

18.8 ... AppArmor-Sicherheitsprofile ... 449



19. Swarm ... 451


19.1 ... Docker Swarm ... 453

19.2 ... Docker Swarm in der Hetzner-Cloud ... 458



20. Kubernetes ... 469


20.1 ... Minikube ... 470

20.2 ... Amazon EKS (Elastic Kubernetes Service) ... 482

20.3 ... Microsoft AKS (Azure Kubernetes Service) ... 486

20.4 ... Google Kubernetes Engine ... 495



Index ... 505