Learn the Docker development and DevOps lifecycle, and how it is supported by Visual Studio, Team Services, and Azure.
- [Instructor] Creating containerized apps or services can be organized into two lifecycles. The development lifecycle and the DevOps lifecycle. The development lifecycle is where the app is coded and a container environment is described using Docker and Docker Compose files. This is also where local testing and debugging takes place. The DevOps lifecycle is where the application is built, tested, deployed, and run. This contains the CI/CD pipeline and often employs something called orchestration.
Which is a tool that handles deploying, running, and scaling containerized applications. Let's look a little deeper at each of these lifecycles. In the development lifecycle, the app or service is coded. A Dockerfile is used to copy the code into an image, which describes the environment for the application. A composed file is created, which describes how the image will be configured to run on a container and how it will interact with other services and applications. For debugging, instead of copying the code to an image, a Docker compose file is used to run a container that links to the code from the developers computer.
This allows the developer to make changes to the code and see the results without having to restart the container. Once the coding is complete, the developer commits the code, the Dockerfile, and Docker compose files to source control. The source control commit triggers the application lifecycle to begin. Once the results of the development lifecycle are committed to source control, a build is triggered. Which compiles the code and adds it to an image. The image is versioned and pushed to a container registry.
When the new image becomes available a release is triggered. Which instructs the hosting tool to pull down and deploy the new images as a container.
- Setting up your environment
- Adding Docker support to an application
- Debugging container-based apps in Visual Studio 2017
- The DevOps life cycle with Visual Studio and VS Team Services
- Configuring release and build
- Azure hosting options
- Using Kubernetes with Azure