Docker: Rheinwerk Computing
Autor Bernd Öggl, Michael Kofleren Limba Engleză Paperback – 3 iun 2023
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
Din seria Rheinwerk Computing
- 20% Preț: 180.11 lei
- Preț: 146.67 lei
- 20% Preț: 150.91 lei
- 20% Preț: 602.16 lei
- 20% Preț: 438.20 lei
- 20% Preț: 176.55 lei
- 20% Preț: 429.86 lei
- 20% Preț: 163.16 lei
- 20% Preț: 505.06 lei
- 20% Preț: 405.03 lei
- 20% Preț: 188.27 lei
- 20% Preț: 331.73 lei
- 20% Preț: 169.59 lei
- 20% Preț: 319.43 lei
- 20% Preț: 314.36 lei
- 20% Preț: 180.45 lei
- Preț: 206.10 lei
- 20% Preț: 328.07 lei
- 20% Preț: 168.75 lei
- 20% Preț: 260.72 lei
- 20% Preț: 241.56 lei
- 20% Preț: 225.08 lei
- 20% Preț: 400.38 lei
- 20% Preț: 397.90 lei
- 20% Preț: 328.50 lei
- 20% Preț: 142.44 lei
- Preț: 211.66 lei
- 20% Preț: 329.49 lei
- 20% Preț: 248.27 lei
- 20% Preț: 224.53 lei
- 20% Preț: 276.21 lei
- 20% Preț: 164.12 lei
- 20% Preț: 170.37 lei
- 20% Preț: 187.26 lei
- 20% Preț: 359.14 lei
- 20% Preț: 345.68 lei
- 20% Preț: 351.27 lei
- 20% Preț: 173.07 lei
- 20% Preț: 394.49 lei
- 20% Preț: 418.36 lei
- 20% Preț: 256.64 lei
- 20% Preț: 185.92 lei
- 20% Preț: 251.77 lei
- 20% Preț: 256.73 lei
- 20% Preț: 401.61 lei
- 20% Preț: 331.30 lei
- 20% Preț: 287.89 lei
- 20% Preț: 238.07 lei
- 20% Preț: 152.60 lei
- 20% Preț: 176.62 lei
Preț: 255.93 lei
Preț vechi: 319.90 lei
-20% Nou
Puncte Express: 384
Preț estimativ în valută:
48.98€ • 50.88$ • 40.68£
48.98€ • 50.88$ • 40.68£
Carte disponibilă
Livrare economică 13-27 ianuarie 25
Livrare express 27 decembrie 24 - 02 ianuarie 25 pentru 89.18 lei
Preluare comenzi: 021 569.72.76
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
ISBN-10: 1493223836
Pagini: 491
Dimensiuni: 178 x 253 x 29 mm
Greutate: 1.02 kg
Editura: Rheinwerk Verlag GmbH
Seria Rheinwerk Computing
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
... 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