Using Dockerfiles to build and run locally
Earlier in this chapter, we leveraged the Docker plugin for Visual Studio to generate Dockerfiles for each of the three services. As noted, the generated files contain several FROM
directives, which allow Docker to use a specific image when building that layer. In some cases, Dockerfiles can be very simple—sequential lines installing or configuring aspects of the image for optimal use. But when does it make more sense to use a sequential file instead of one that has multiple build stages?
Sequential versus multi-stage files
Chances are, if you have Docker experience, you’ve constructed a few Dockerfiles in your day. Starting off, you may have taken a base image and added a few programs to it, installed specific frameworks on it, or even configured more complex options for the image itself. A good rule to follow when writing a Dockerfile is to look at what needs to happen during the build process itself. For example, when...