Docker and containers are everywhere at the moment. Everybody is speaking about them and there are so many use cases where they seem to be a great fit. They provide an efficient, lightweight and self-contained approach for packaging applications with their dependencies while re-using the underlying operating system files and resources.
They are a perfect fit for microservice architectures, but can also be used for any other application archetypes. They work exceptionally well together with ASP.NET Core 2.0 applications since both have been conceived with modularity, performance, scalability, lightweight nature, and efficiency in mind.
Both, Docker containers and the ASP.NET Core 2.0 framework, provide full cross-platform support (Windows, Linux, and macOS). Furthermore, you can host your containers on-premises and in the cloud. You can use Azure for example, either via IAAS deployments or via Azure Container Services, which additionally allows for mixing and matching different operating systems and technologies.