1 Before you begin

Docker is a platform for running applications in lightweight units called containers. Containers have taken hold in software everywhere, from serverless functions in the cloud to strategic planning in the enterprise. Docker is becoming a core competency for operators and developers across the industry--in the 2019 Stack Overflow survey, Docker polled as people’s number one “most wanted” technology ( http://mng.bz/04lW ).

And Docker is a simple technology to learn. You can pick up this book as a complete beginner, and you’ll be running containers in chapter 2 and packaging applications to run in Docker in chapter 3. Each chapter focuses on practical tasks, with examples and labs that work on any machine that runs Docker--Windows, Mac, and Linux users are all welcome here.

The journey you’ll follow in this book has been honed over the many years I’ve been teaching Docker. Every chapter is hands-on--except this one. Before you start learning Docker, it’s important to understand just how containers are being used in the real world and the type of problems they solve--that’s what I’ll cover here. This chapter also describes how I’ll be teaching Docker, so you can figure out if this is the right book for you.

1.1 Why containers will take over the world

1.1.1 Migrating apps to the cloud

1.1.2 Modernizing legacy apps

1.1.3 Building new cloud-native apps

1.1.4 Technical innovation: Serverless and more

1.1.5 Digital transformation with DevOps

1.2 Is this book for you?

1.3 Creating your lab environment

1.3.1 Installing Docker

1.3.2 Verifying your Docker setup

1.3.3 Downloading the source code for the book

1.3.4 Remembering the cleanup commands

1.4 Being immediately effective