46,90 €*
Versandkostenfrei per Post / DHL
auf Lager, Lieferzeit 2-4 Werktage
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
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
... 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 ... [...] ... 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 [...] 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 ... [...] 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 ([...]) ... 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: [...] ... 274
13.3 ... The API Server: [...] 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 [...] Website with [...] ... 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
Erscheinungsjahr: | 2023 |
---|---|
Genre: | Importe, Informatik |
Rubrik: | Naturwissenschaften & Technik |
Medium: | Taschenbuch |
Reihe: | Rheinwerk Computing |
Inhalt: | 491 S. |
ISBN-13: | 9781493223831 |
ISBN-10: | 1493223836 |
Sprache: | Englisch |
Herstellernummer: | 459/22383 |
Einband: | Klappenbroschur |
Autor: |
Öggl, Bernd
Kofler, Michael |
Hersteller: |
Rheinwerk Publishing
Rheinwerk Verlag GmbH |
Verantwortliche Person für die EU: | Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53227 Bonn, service@rheinwerk-verlag.de |
Maße: | 253 x 178 x 29 mm |
Von/Mit: | Bernd Öggl (u. a.) |
Erscheinungsdatum: | 03.06.2023 |
Gewicht: | 1,022 kg |
... 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 ... [...] ... 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 [...] 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 ... [...] 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 ([...]) ... 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: [...] ... 274
13.3 ... The API Server: [...] 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 [...] Website with [...] ... 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
Erscheinungsjahr: | 2023 |
---|---|
Genre: | Importe, Informatik |
Rubrik: | Naturwissenschaften & Technik |
Medium: | Taschenbuch |
Reihe: | Rheinwerk Computing |
Inhalt: | 491 S. |
ISBN-13: | 9781493223831 |
ISBN-10: | 1493223836 |
Sprache: | Englisch |
Herstellernummer: | 459/22383 |
Einband: | Klappenbroschur |
Autor: |
Öggl, Bernd
Kofler, Michael |
Hersteller: |
Rheinwerk Publishing
Rheinwerk Verlag GmbH |
Verantwortliche Person für die EU: | Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53227 Bonn, service@rheinwerk-verlag.de |
Maße: | 253 x 178 x 29 mm |
Von/Mit: | Bernd Öggl (u. a.) |
Erscheinungsdatum: | 03.06.2023 |
Gewicht: | 1,022 kg |