Build Docker skills today!

I wrote this book to give you a practical, step by step learning experience.
We start from the basics and you'll learn to build, ship, and run applications through working examples that resemble real-life project situations.
Last updated January 10, 2019.
Published in June, 2018.
PURCHASE NOW

What's included?

  • 305 pages of high quality learning content.
  • Every chapter is built on code-along examples.
  • We cover the entire build, ship and run cycle.
  • Unique project focus with practices and detailed workflow.
  • Continuous integration example.
  • Swarm and Kubernetes deployment.
  • State of the art; published in June, 2018.
  • PDF, epub, and mobi formats with code samples in one zip file.

Why is this book special?

  • This book is a code-along tutorial, I introduce every aspect of Docker through examples that you can build right away.
  • The book has a special project focus to teach you how you can use Docker in your projects.
  • Besides the learning examples, I added another 65 pages of build exercises with shell scripts, Node.js, Python, PHP, C, Golang, and more.
  • In the last chapters, we build a complex example end to end using all the skills we learned in the book, plus we'll learn more.

What you will learn

Build with Docker  
Learn what Docker is and what problems it solves in software development projects.
We install Docker on your machine and start building together.
We start the journey by running applications in Docker containers.
Learn to manage Docker containers.
Container practices that are crucial for Dockerized project work.
Dive into Docker images, and see how images define containers.
Learn to manage images.
Find and select the best Docker images for your projects online.
Create your custom Docker images with the Dockerfile.
Learn Dockerfile best practices.
I’ll show you my image building workflow.
Image building exercises; including shell scripts, Node.js, Python, PHP, C, Golang,and more.
Dive into multi-container applications.
Define, build and run applications with the Docker Compose tool.
Docker Networks.
Docker Volumes.
Build practices with Docker Compose.
A unique “build summary” chapter to outline of the build workflow.
Ship your applications  
Learn how to ship your applications.
Ship your application’s Docker images to the Docker Hub.
Set up an automatic build workflow involving GitHub.
Set up your own Docker Registry.
Build a continuous integration example with Travis CI.
A unique ship summary chapter to outline the shipping workflow in Dockerized projects.
Run your applications  
Learn how to run your high availability, scalable applications in production.
Set up and manage a Docker Swarm cluster.
Deploy your application stacks to the Swarm.
Scale and manage services in a Swarm.
A unique run summary chapter with an overview of typical run tasks in your projects.
End to end example where we dockerize a Flask application  
Extend a Flask web application project to use Docker to build, ship and run the application.
Use Docker containers to generate the application code.
Use environment variables to drive various aspects of our project build.
Automate most project tasks.
Set up the Dockerized development environment.
Set up automated testing using Travis CI.
Set up the Dockerized production environment.
Deploy and run the web application on AWS in a Swarm cluster.
Deploy and run the web application in a Kubernetes cluster.
Refund policy

You may be able to return the book that you bought for a refund. We will consider your return if we receive your request within 3 days of the date of purchase.

Privacy policy

We take your privacy seriously and will take all measures to protect your personal information.

Any personal information received will only be used to fill your order. We will not sell or redistribute your information to anyone.

Read the preface from the book

Dear Reader,

Welcome to “Get Started with Docker in your Projects!”

I’m sure you are as excited as I am about your new learning journey in the Docker world.

I wrote this book to give you a practical, step by step learning experience, where you start from the basics and develop your Docker skills building working examples that resemble real-life project situations.

First, in the introduction chapter, I explain what Docker is and what problems it solves in software development projects.

Next, we’ll install Docker on your machine and start building together. I built every chapter in the book on code-along examples.

I recommend you to read the book and build the examples in parallel. You can copy and paste the commands from the book to your command line and code editor, or you can use the code base that I supplied in a separate zip file.

We start the journey by running applications in Docker containers. I’ll show you how to start and manage your applications with Docker. I added a chapter to demonstrate practices that are crucial for Dockerized project work.

As a next step, we dive into Docker images, and see how images define containers. Again, we’ll have a project focus, and I’ll show you the practices to find and select the best Docker images for your projects online.

As you progress with Docker image learning, you’ll create your custom Docker images with the Dockerfile, learn Dockerfile best practices, and I’ll show you my image building workflow.

Docker containers and Docker images are the foundation of Docker-based projects; therefore I have included a long chapter called “Image building exercises” at this point, where we’ll build and run applications with shell scripts, Node.js, Python, PHP, C, and Golang. I have included crucial aspects of Docker into these examples that you’ll find valuable in project work.

After completing the above exercises, you’ll have a firm understanding of Docker concepts, Docker containers, and Docker images.

Next, we’ll dive into multi-container applications, where multiple containers work together to provide application functionality. I’ll show you how you can define, build and run applications with the Docker Compose tool, plus, we’ll learn about Docker Networks and Docker Volumes in this part of the book in greater detail. I also included a chapter to show you build practices with Compose.

The chapters so far in the book targeted build activities in Docker-based projects. You’ll learn how to start and manage containers, how to build Docker images for projects, how to build and manage multi-container applications, manage networks and volumes.

I have included a “build summary” chapter at this point, where I give you an overview of project tasks in the build phase, and you’ll get a graphical outline of the build workflow.

Now you’ll be ready to learn how to ship your applications once they are built. We’ll see how to ship your application’s Docker images to the Docker Hub, we’ll set up an automatic build workflow involving GitHub, and you’ll set up your own Docker Registry, too. We’ll also see a CI example later in the book.

Similarly to the “build summary” chapter, I have added a “ship summary” chapter to outline the shipping workflow in Dockerized projects.

Next, we’ll learn how to run your applications in production. We will run applications in the first chapters, too, but in the “run” part of the book, we’ll focus on high availability, scalable production run.

You’ll learn how to setup and manage a Docker Swarm cluster, how to deploy your application stacks to the Swarm, and how to scale and manage services in a Swarm.

We’ll start with cluster deployments on your local machine, first with one machine, and then we’ll set up two machines locally and create a Swarm cluster. We’ll learn how to deploy and manage applications on multiple nodes, and we’ll learn how to manage nodes in a Swarm cluster.

We’ll deploy our application to the cloud in the next chapters.

Again, you’ll have a “run summary” chapter with an overview of typical run tasks in your projects.

At this point, you will have solid Docker skills. You shall be ready to address more complex challenges.

To make you more fluent in Docker, I have included an end to end example where we’ll Dockerize a Flask application, and we’ll use all the learning in the book, plus we’ll add more tricks and best practices.

We’ll take a popular Flask web application boilerplate project from GitHub and extend it so that we will use Docker to build, ship and run the application.

In this exercise, we’ll use Docker containers to generate the application code. We’ll use environment variables to drive various aspects of our project build, just like in real-life projects. We’ll automate most of the project tasks.

We set up the development environment and automated testing using Travis CI. We also prepare the production Docker configuration for the project.

Once the project setup is complete, we’ll deploy and run the web application on AWS in a Swarm cluster, and in a Kubernetes cluster, too.

I have set up the examples to be gradual with a gentle learning curve. I explain the steps in detail so that you can follow along.

I hope you’ll enjoy the journey and acquire great skills.