Docker

Docker is a software container platform that allows you to package up an application with all its dependencies and requisite libraries into a self-reliant module. It moves the architecture design center of gravity from host/VM to containerized applications. Containers help eliminate the risk of incompatibilities or version conflicts between the application and the underlying OS. Furthermore, they can easily be migrated across any machine running Docker.

As it relates to cloud-native applications, containers are an effective way to package applications for runtime, great for version management, and efficient in operating deployments. Docker is a leading solution in this space, and its Community Edition (CE) is free to use.

In addition to Docker, there are several noteworthy open source projects that can help maximize the use of Docker and help create cloud-native systems: