BT

Your opinion matters! Please fill in the InfoQ Survey!

Book Review Docker on Windows by Elton Stoneman

| by Roland Meertens Follow 3 Followers on Aug 09, 2017. Estimated reading time: 3 minutes |

A note to our readers: As per your request we have developed a set of features that allow you to reduce the noise, while not losing sight of anything that is important. Get email and web notifications by choosing the topics you are interested in.

Docker on Windows, written by Elton Stoneman, is a great book for Windows developers who want to learn how to effectively use Docker. It covers many aspects from Docker: images and containers, but also newer features such as multi-stage builds. The book is a perfect fit for engineers, architects, and administrators who are already building and delivering server applications running on Windows. 

Initially, I was wondering why there should be a book about Docker on Windows. Docker, a technology providing containers, allows users to create instances of operating systems without the overhead of virtual machines. Docker runs on many operating systems; Windows 10 and Windows Server 2016 were added in 2016. Unfortunately, many tutorials found on the internet contain specific instructions for Linux based services. This book not only uses Microsoft specific services for all its examples, it also provides many tips and tricks throughout the book to make development a bit easier. 

Throughout the book, the author uses one main use case: an old ASP.NET MVC app called Nerd Dinner. The reader learns how he can pull this old monolithic application apart into a modular application. At the end of the book, users can deploy and monitor app they broke down in a front end, database, and analytics services. 

The book starts with the basic Docker concepts, such as images, containers, registries, and swarms, and shows you how to get Docker running on Windows 10, Windows Server 2016, and on a VM in Azure. Examples of Docker applications show how you can set up a Microsoft dotnet nanoserver in a Dockerfile. The book explains possible commands in a Dockerfile, and command line arguments users can give during the build process. This is also the place where multi-stage builds are introduced: a feature recently added to Docker. Thanks to multi-stage builds readers of the book (and developers) don't have to install any tools on their machine (except for Docker). They can start developing faster and in a less error-prone way.  

Intermediate chapters continue to show how Docker is able to contribute to developers and IT Pros. Developers who don't want to type over the many samples in the book can download them from GitHub, or pull the pre-compiled images from Docker Hub. In the book the NerdDinner application gets torn apart. Features are added to the application using more containers that can be developed independently. The result is a distributed solution that can be managed with Docker Compose. The author goes further and describes how you can deploy this solution to a server or your local computer with Docker swarm.

For IT Pros there are chapters which will help with evaluating Docker for production. The author covers security in the Docker platform, from building secure images and setting up a secure software supply chain, to running a secure swarm. You can administer Docker containers with the tools you currently use - like IIS Manager and Server Manager, and there is a chapter which covers new types of management tools, built for containers. 

Final chapters show some tips and tricks about how you can power a continuous deployment pipeline with Docker. At the end the reader can run a Bonobo Git server in Docker, and package and running their project with a Jenkins automation server in Docker. Seasoned Visual Studio developers will be happy to learn how they can run their applications in containers during development, and still debug their code using Visual Studio. 

The book ends with advice for adopting Docker in your own projects. There is guidance for running a proof-of-concept to modernize a traditional application with Docker, and there are three real-world case studies. The case studies show Docker on Windows in production, from small projects to large ones.

The hand-on approach of the book is what makes it a great guide for existing Windows developers. Elton Stoneman makes it easy for starters in Docker to understand how this new tool will improve their development cycle, but also describes enough to make the book interesting for people who already have Docker knowledge. 

Docker on Windows is available from Amazon and direct from Packt publishing. The author is also covering each of the Dockerfiles from the book in a weekly blog series

About the author

Elton Stoneman is a Microsoft MVP, Pluralsight author and InfoQ editor, and he works for Docker, Inc. Elton blogs and tweets about Docker, .NET and Azure and is a regular conference speaker. He’s looking forward to the next DockerCon.   

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT