Presentation used in dotnet Bangalore Meetup held on Nov 26, 2016. Intro to Docker, Docker-compose and tools available for performing CI/CD for apps targeting Docker containers
2. • Senior Engineer @Target
• Microsoft MVP -Visual Studio &
Development technologies
• Windows/Web/Cross platform mobile
developer
• Blogger, Speaker, Amateur photographer,
Gadget freak
3. • What is CI / CD ?
• What is Docker ?
• Build Docker Images for asp.net core apps
• Docker-Compose for orchestrating multi container applications
• CI/CD tools and practices for containerized asp.net applications
6. • Jenkins
• Travis CI
• Circle CI
• Appveyor
• MSTFS/VSTS
• GO
• Bamboo
• Buildbot
• many more and more…
7.
8. Host OS - Hardware
Hyper Visor
Guest OS #1 (Virtual Machine) Guest OS #2
Docker Daemon
9. Server
Host OS
Hypervisor
Server
Host OS
Docker Engine
Guest
OS
Guest
OS
Guest
OS
Bins/Libs Bins/Libs Bins/Libs
App A App A’ App B
Bins/Libs Bins/Libs
AppA
AppA’
AppB
AppB’
AppB
AppB’
AppB
AppB’
Containers are isolated,
but share OS and, where
appropriate,
bins/libraries
10. • Docker Daemon – Process that runs containers within
• Docker CLI – Command line utility to interact with docker apis
• Docker Machine – API to create/manage Docker hosts
• Docker Compose – API to orchestrate containerized applications
• Docker Swarm – Container Cluster running multiple containers
• Docker Registry – Registry to maintain Docker images
14. • ASP.NET
• In Container Development
• Edit & Refresh
• Breakpoint Debugging
Integration
Azure
Container Registry
Production
Staging
Test
Visual Studio Code
Write/Edit
Run
Debug
Visual Studio Team Services
• Source Code Control
• Build
• Continuous Integration
• 3rd Party Integration:
VSTS Build Agents w/ Docker
• VM Scale Sets
• Azure Container Service
• Azure Hosted Docker Private Registry
Azure Container Service
Visual Studio
• Docker Language Services
• Docker Scaffolding w/yo docker
public registry
.NET Core
Orchestration&Scheduling-Marathon/DockerSwarm