Building an ASP.NET Core Application with Docker [Devops Tutorial]
Applications are being built, shipped and updated at an increasingly fast pace. This trend has generated interest in solutions that will help facilitate this complex process. The result is a flood of new methodologies and tools for DevOps engineers. In this article, I will focus on one of these tools: Docker. More specifically, Docker on Windows, along with a sample application in ASP.NET.
Table Of Contents
- What is DevOps?
- What is Docker for Windows?
- Docker Containers vs Virtual Machines
- Composing Containers
- Not a Windows developer? Don’t worry!
- Getting Started with Docker on Windows
- Docker Pillars
- Your First Docker Container on Windows
- What Is a ‘dockerfile’?
- Composing a Container Dependency to Our Application
- Orchestration Tools
- Conclusion
What is DevOps?
The AWS site describes DevOps as “the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity.”
In other words, DevOps is about merging the Development and Operations silos into one team, so engineers work across the entire application lifecycle.
What is Docker for Windows?
Docker performs operating system level virtualization, a process often referred to as containerization (hence the term “Docker containers”). It was initially developed for Linux, but it is now fully supported on macOS and Windows, as well as all major cloud service providers (including AWS, Azure and Google Cloud). Containers help you package an application, and all of the software required to run it, into a single container, which you can then run from a developer’s local development environment all the way to production.
Docker has become one of the darlings of the DevOps community because it enables true independence between applications, environments, infrastructure, and developers.
Docker Containers vs Virtual Machines
You may ask yourself: “If containers are just another virtualization strategy, why should I consider it if I am already using some kind of Virtual Machine? ”