Buch, Englisch, 491 Seiten, Format (B × H): 178 mm x 253 mm, Gewicht: 1022 g
Reihe: Rheinwerk Computing
Practical Guide for Developers and DevOps Teams
Buch, Englisch, 491 Seiten, Format (B × H): 178 mm x 253 mm, Gewicht: 1022 g
Reihe: Rheinwerk Computing
ISBN: 978-1-4932-2383-1
Verlag: Rheinwerk Verlag GmbH
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
... Preface ... 21 ... Docker ... 21 ... About This Book ... 22 ... Brave New Docker World ... 23PART I ... Introduction ... 251 ... Hello World ... 27 1.1 ... Docker Quick Install ... 27 1.2 ... Apache with PHP 8 ... 28 1.3 ... Node.js ... 31 1.4 ... Python ... 332 ... 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 ... 463 ... 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 ... 834 ... 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 ... 1005 ... 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 ... 1206 ... 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 ... 1427 ... 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 ... 174PART II ... Toolbox ... 1758 ... Alpine Linux ... 177 8.1 ... Characteristics ... 177 8.2 ... Package Management with "apk" ... 1819 ... 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 ... 20710 ... Database Systems ... 213 10.1 ... MySQL and MariaDB ... 213 10.2 ... PostgreSQL ... 219 10.3 ... MongoDB ... 223 10.4 ... Redis ... 23011 ... 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 ... 24812 ... Web Applications and Content Management Systems ... 255 12.1 ... WordPress ... 255 12.2 ... Nextcloud ... 263 12.3 ... Joomla ... 266PART III ... Exercises ... 26913 ... 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 ... 29814 ... Grafana ... 301 14.1 ... Grafana-Docker Setup ... 301 14.2 ... Provisioning ... 310 14.3 ... A Customized Telegraf Image ... 31315 ... 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 ... 34116 ... 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 ... 36917 ... 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 ... 38418 ... 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 ... 40819 ... 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 ... 42820 ... 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