Agenda
	
		- Overview
- Basic concepts
- Architecture
- VMs vs Containers
- Docker machine
- Docker Hub
- Advanced Tools
- Workflow
- DEMO
The Challenge
	
		 
	
	Deployment Challange
	
		 
	
	Cargo Transport Pre-1960
	
		 
	
	The same probelm
	
		 
	
	Solution: Intermodal Shipping Container
	
		 
	
	Docker is a Container System for Code
	
		 
	
	Deployment Matrix
	
		 
	
	Common Environment
	Dev QA Ops
	
		 
	
	Why Developers Care
	
		Build once and run anywhere:
	
	
		- A clean, secure and predictiable environment for apps
- No worries about missing dependencies
- Automate testing and packaging
- Reduce/eliminate concerns about compatibility on different platforms
Why Operations Care
	
	Configure once and run anything:
	
	
		- Make the entire lifecycle more efficient, consistent, and repeatable.
- Eliminate inconsistencies between development, test, production, and customer environments.
- Speed and reliability of continuous deployment and continuous integration systems.
- Significant performance, lower costs, deployment, and portability (in comparision to VMs).
Architecture
	 
	VMs vs Containers
	
		 
	
	Why are Docker Containers Lightweight?
	
		 
	
	What are the Basics of a Docker System?
	
		 
	
	Changes and Updates
	
		 
	
	hub.docker.com
	
		 
	
	Advanced Tools
	
		- Docker Compose: a tool for defining and running multi-container Docker applications
- Docker Swarm: native clustering tool which turns a pool of Docker hosts into a single, virtual Docker host
- Docker Cloud: deploying node clusters and sevices to cloud service providers (AWS, DigitalOcean, etc...)
Possible Workflow
		 
	
	Demo Time
	
		