In this chapter, you implemented a Docker workflow that tests, builds, and packages your application into a Docker image that is ready to publish and deploy to production. You learned how you can build your application in two stages using Docker multi-stage builds—the test stage uses a development environment complete with development libraries and source compilation tools that allows you to build and test your application and its dependencies in precompiled packages, while the release stage takes those built packages and installs them into a production-ready operating environment, free of development libraries and other tools, significantly reducing the attack surface of your application.
You learned how you to use Docker Compose to help simplify the various commands and actions you need to perform during the test and release stages, creating a docker-compose.yml...