A Docker image is a layered structure where you define the process which needs to be run and the files needed to run it. You start a container from a Docker image.
A containerization tool like Docker is often useful with this style of programming, because the container content and setup result in a repeatable environment regardless of the underlying system. It uses automation tools, and the resources and functionality of cloud providers. Cloud-native is a term with a number of definitions, but it largely means running an application, most likely one with a microservices architecture, on cloud infrastructure. In fact, images and containers don't need to be 'Docker' but they can be based on a similar framework.Īs cloud-native programming grows in popularity, so does Docker and a Docker-style approach. Since Docker made this approach popular, many of us talk about Docker Containers and Docker Images. This avoids small configuration differences between machines. The required dependencies are ‘packaged’ and run as a process on the host Operating System, rather than the Operating System being duplicated for each workload as with virtual machines. It makes it easier to create, deploy and run your applications in packages called containers. Docker is a platform most developers are now familiar with.