In the previous chapter, we learned how to work with stateful containers, that is, containers that consume and produce data. We also learned how to configure our containers at runtime and at image build time using environment variables and config files.
In this chapter, we're going to introduce techniques commonly used to allow a developer to evolve, modify, debug, and test their code while running in a container. With these techniques at hand, you will enjoy a frictionless development process for applications running in a container, similar to what you experience when developing applications that run natively.
Here is a list of the topics we're going to discuss:
- Evolving and testing code running in a container
- Auto restarting code upon changes
- Line-by-line code debugging inside a container
- Instrumenting your code to produce...