Öggl / Kofler | Docker | Buch | 978-1-4932-2383-1 | sack.de

Buch, Englisch, 491 Seiten, Format (B × H): 178 mm x 253 mm, Gewicht: 1022 g

Reihe: Rheinwerk Computing

Öggl / Kofler

Docker

Practical Guide for Developers and DevOps Teams
1. Auflage 2023
ISBN: 978-1-4932-2383-1
Verlag: Rheinwerk Verlag GmbH

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


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 configuration2) Dockerfiles3) Docker commands4) Rootless Docker5) Project migration6) GitLab 7) Grafana8) Kubernetes9) Container security10) Continuous integration and delivery (CI/CD)11) Docker images: servers, databases, programming languages, and web applications
Öggl / Kofler Docker jetzt bestellen!

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



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.