Cantitate/Preț
Produs

Docker: Rheinwerk Computing

Autor Bernd Öggl, Michael Kofler
en Limba Engleză Paperback – 3 iun 2023

Autorii Bernd Öggl și Michael Kofler aduc în acest volum o vastă experiență practică în ecosistemul de dezvoltare software, Michael Kofler fiind deja cunoscut pentru ghidurile sale tehnice esențiale. Această lucrare completează portofoliul lor, făcând tranziția firească de la controlul versiunilor în Git și programarea asistată de inteligență artificială în AI-Assisted Coding, către pilonul central al infrastructurii moderne: containerizarea. Observăm că autorii nu se limitează la teorie, ci distilează experiența reală în principii acționabile, oferind cititorului un instrumentar complet pentru gestionarea aplicațiilor.

Ca și Sean P. Kane în Docker: Up & Running, autorii structurează informația într-un flux logic care pornește de la fundamente și ajunge la orchestrarea complexă. Găsim în această carte o progresie tehnică riguroasă: începem cu instalarea și configurarea pe diverse sisteme de operare, explorăm anatomia fișierelor Dockerfile și ajungem la utilizarea avansată a volumelor de date. Structura cărții, împărțită în secțiuni dedicate instalării, comenzilor de bază și integrării cu instrumente precum GitLab sau Grafana, indică o acoperire exhaustivă a mediului de producție.

Merită menționat că volumul pune un accent deosebit pe securitate prin capitolele dedicate Rootless Docker și managementului securității containerelor, aspecte critice în deployment-ul modern. Spre deosebire de alte ghiduri, această lucrare din seria Rheinwerk Computing oferă exerciții specifice pentru migrarea proiectelor existente, transformând conceptele abstracte în soluții tehnice imediate pentru servere, baze de date și aplicații web dezvoltate în Node.js sau Python.

Citește tot Restrânge

Din seria Rheinwerk Computing

Preț: 26209 lei

Preț vechi: 32762 lei
-20%

Puncte Express: 393

Carte disponibilă

Livrare economică 05-19 septembrie
Livrare express 22-28 august pentru 10835 lei

Livrare prin curier în România Termenul estimat este afișat lângă disponibilitate.
Transport gratuit de la 40000 lei Plată online sau ramburs, în funcție de opțiunile comenzii.
Retur gratuit în 14 zile Comandă securizată și suport în română.

Specificații

ISBN-13: 9781493223831
ISBN-10: 1493223836
Pagini: 491
Dimensiuni: 178 x 253 x 29 mm
Greutate: 1.02 kg
Editura: Rheinwerk Verlag GmbH
Seria Rheinwerk Computing


De ce să citești această carte

Recomandăm această carte profesioniștilor IT care doresc să stăpânească Docker într-un mod structurat și aplicat. Veți câștiga competențe concrete în crearea de imagini personalizate, securizarea mediilor prin Rootless Docker și integrarea fluxurilor CI/CD. Este resursa ideală pentru a face trecerea de la virtualizarea clasică la o infrastructură modernă, scalabilă și eficientă, utilizând instrumente standard în industrie precum Kubernetes și GitLab.


Despre autor

Bernd Öggl și Michael Kofler sunt specialiști recunoscuți în domeniul tehnologiei informației, cu o experiență vastă în scrierea de documentație tehnică și ghiduri de programare. Michael Kofler este un autor prolific în spațiul tech, publicând lucrări de referință despre Linux, baze de date și securitate. Expertiza lor combinată în administrarea sistemelor și dezvoltarea software se reflectă în abordarea pragmatică a cărții, axată pe nevoile reale ale dezvoltatorilor și administratorilor de sistem care lucrează în ecosisteme open-source și cloud.


Descriere scurtă

Learn the ins and outs of containerization in Docker with this practical guide! Begin by installing and setting up the platform. Then master the basics: get to know important terminology, understand how to run containers, and set up port redirecting and communication. You'll learn to create custom images, work with commands, and use key containerization tools. Gain essential skills by following exercises that cover common tasks from packaging new applications and modernizing existing applications to handling security and operations.

1) Installation and configuration
2) Dockerfiles
3) Docker commands
4) Rootless Docker
5) Project migration
6) GitLab
7) Grafana
8) Kubernetes
9) Container security
10) Continuous integration and delivery (CI/CD)
11) Docker images: servers, databases, programming languages, and web applications

Cuprins

... Preface ... 21

... Docker ... 21

... About This Book ... 22

... Brave New Docker World ... 23

PART I ... Introduction ... 25

1 ... Hello World ... 27

1.1 ... Docker Quick Install ... 27

1.2 ... Apache with PHP 8 ... 28

1.3 ... Node.js ... 31

1.4 ... Python ... 33

2 ... Installation ... 37

2.1 ... Docker Variants ... 37

2.2 ... Version Numbers ... 38

2.3 ... Installation on Windows ... 38

2.4 ... Installation on macOS ... 40

2.5 ... Installation on Linux ... 41

2.6 ... Rootless Docker ... 46

3 ... Basic Principles ... 51

3.1 ... Basic Principles and Terminology ... 51

3.2 ... Running Containers ... 56

3.3 ... Using Containers Interactively ... 58

3.4 ... Port Redirection ... 64

3.5 ... Data Storage in Volumes ... 67

3.6 ... Named Volumes ... 73

3.7 ... Volumes in Custom Directories ... 75

3.8 ... Communication between Containers ... 77

3.9 ... Administration of Docker ... 83

4 ... Custom Docker Images (Dockerfiles) ... 87

4.1 ... Dockerfiles ... 87

4.2 ... A Custom Web Server Image ... 95

4.3 ... Uploading Images to Docker Hub ... 97

4.4 ... Setting Up a Pandoc and LaTeX Environment as an Image ... 100

5 ... docker compose ... 105

5.1 ... docker-compose versus docker stack ... 105

5.2 ... Installing "docker-compose" ... 106

5.3 ... YAML Ain't Markup Language Syntax ... 107

5.4 ... Hello Compose! ... 109

5.5 ... The docker-compose.yml File ... 114

5.6 ... Passwords and Other Secrets ... 120

6 ... Tips, Tricks, and Internal Details ... 123

6.1 ... Visual Studio Code ... 123

6.2 ... Portainer ... 126

6.3 ... Pull Limit in Docker Hub ... 128

6.4 ... Using Different CPU Architectures ... 133

6.5 ... Starting Containers Automatically ... 137

6.6 ... A Look Behind the Scenes ... 142

7 ... docker Command Reference ... 153

7.1 ... docker attach ... 155

7.2 ... docker build ... 155

7.3 ... docker commit ... 155

7.4 ... docker compose * ... 156

7.5 ... docker-compose config ... 156

7.6 ... docker-compose down ... 156

7.7 ... docker-compose events ... 156

7.8 ... docker-compose kill ... 156

7.9 ... docker-compose logs ... 157

7.10 ... docker-compose pause and docker compose unpause ... 157

7.11 ... docker-compose ps ... 157

7.12 ... docker-compose rm ... 157

7.13 ... docker-compose run ... 157

7.14 ... docker-compose start, docker-compose stop, and docker compose restart ... 158

7.15 ... docker-compose top ... 158

7.16 ... docker-compose up ... 158

7.17 ... docker container * ... 159

7.18 ... docker create ... 159

7.19 ... docker diff ... 159

7.20 ... docker events ... 160

7.21 ... docker exec ... 160

7.22 ... docker export ... 160

7.23 ... docker image * ... 160

7.24 ... docker images ... 161

7.25 ... docker import ... 161

7.26 ... docker info ... 161

7.27 ... docker inspect ... 162

7.28 ... docker kill ... 163

7.29 ... docker login and docker logout ... 163

7.30 ... docker logs ... 163

7.31 ... docker network * ... 164

7.32 ... docker node * ... 165

7.33 ... "docker pause" and "docker unpause" ... 165

7.34 ... "docker port" ... 165

7.35 ... docker ps ... 166

7.36 ... docker pull ... 166

7.37 ... docker push ... 167

7.38 ... docker rename ... 167

7.39 ... docker restart ... 167

7.40 ... docker rm and docker rmi ... 167

7.41 ... docker run ... 168

7.42 ... docker secret * ... 169

7.43 ... docker service * ... 170

7.44 ... docker stack * ... 170

7.45 ... docker start and docker stop ... 171

7.46 ... docker stats ... 171

7.47 ... docker swarm * ... 172

7.48 ... docker system * ... 172

7.49 ... docker tag ... 173

7.50 ... docker top ... 173

7.51 ... docker update ... 173

7.52 ... docker volume * ... 174

7.53 ... docker wait ... 174

PART II ... Toolbox ... 175

8 ... Alpine Linux ... 177

8.1 ... Characteristics ... 177

8.2 ... Package Management with "apk" ... 181

9 ... Web Servers and Company ... 185

9.1 ... Apache HTTP Server ... 185

9.2 ... Nginx ... 191

9.3 ... Nginx as Reverse Proxy with SSL Certificates from Let's Encrypt ... 193

9.4 ... Node.js with Express ... 201

9.5 ... HAProxy ... 205

9.6 ... Traefik Proxy ... 207

10 ... Database Systems ... 213

10.1 ... MySQL and MariaDB ... 213

10.2 ... PostgreSQL ... 219

10.3 ... MongoDB ... 223

10.4 ... Redis ... 230

11 ... Programming Languages ... 233

11.1 ... JavaScript (Node.js) ... 233

11.2 ... Java ... 236

11.3 ... PHP: Hypertext Preprocessor ... 240

11.4 ... Ruby ... 247

11.5 ... Python ... 248

12 ... Web Applications and Content Management Systems ... 255

12.1 ... WordPress ... 255

12.2 ... Nextcloud ... 263

12.3 ... Joomla ... 266

PART III ... Exercises ... 269

13 ... A Modern Web Application ... 271

13.1 ... The Application ... 272

13.2 ... The Frontend: Vue.js ... 274

13.3 ... The API Server: Node.js Express ... 284

13.4 ... The Mongo Database ... 294

13.5 ... The Session Storage: Redis ... 298

14 ... Grafana ... 301

14.1 ... Grafana-Docker Setup ... 301

14.2 ... Provisioning ... 310

14.3 ... A Customized Telegraf Image ... 313

15 ... Modernizing a Traditional Application ... 319

15.1 ... The Existing Application ... 320

15.2 ... Planning and Preparation ... 322

15.3 ... The Development Environment ... 335

15.4 ... Production Environment and Migration ... 337

15.5 ... Updates ... 339

15.6 ... Tips for the Transition ... 340

15.7 ... Results ... 341

16 ... GitLab ... 343

16.1 ... GitLab Quick Start ... 344

16.2 ... GitLab Web Installation ... 346

16.3 ... HTTPS via a Reverse Proxy Setup ... 348

16.4 ... Email Dispatch ... 348

16.5 ... Secure Shell Access ... 352

16.6 ... Volumes and Backup ... 352

16.7 ... Custom Docker Registry for GitLab ... 355

16.8 ... The Complete docker-compose File ... 356

16.9 ... Using GitLab ... 358

16.10 ... GitLab Runner ... 362

16.11 ... Mattermost ... 369

17 ... Continuous Integration and Continuous Delivery ... 375

17.1 ... The dockerbuch.info Website with gohugo.io ... 376

17.2 ... Docker Images for the CI/CD Pipeline ... 380

17.3 ... The CI/CD Pipeline ... 384

18 ... Security ... 397

18.1 ... Software Installation ... 397

18.2 ... Origin of Docker Images ... 398

18.3 ... "root" in Docker Images ... 401

18.4 ... The Docker Daemon ... 403

18.5 ... User Namespaces ... 404

18.6 ... Control Groups ... 406

18.7 ... Secure Computing Mode ... 408

18.8 ... AppArmor Security Profiles ... 408

19 ... Swarm and Amazon Elastic Container Service ... 411

19.1 ... Swarm versus Kubernetes ... 411

19.2 ... Docker Swarm ... 412

19.3 ... Docker Swarm in the Hetzner Cloud ... 417

19.4 ... Amazon Elastic Container Service ... 428

20 ... Kubernetes ... 435

20.1 ... Minikube ... 436

20.2 ... Amazon Elastic Kubernetes Service ... 447

20.3 ... Microsoft Azure Kubernetes Service ... 452

20.4 ... Google Kubernetes Engine ... 461

... Appendices ... 471

A ... Podman as a Docker Alternative ... 471

B ... The Authors ... 483

... Index ... 485