Containers #101Docker Build & Test FlowMay 2016
About the meetup • A series webinars & in person meetups• Hands On• Online session are recorded• Question and Topics suggestion email
Recording available athttps://vimeo.com/channels/containers101
Build & Test Docker images
May 2016
About me • Developer, entrepreneur and technology
enthusiast• Live in the Silicon Valley since 2008 • Organizer of Containers 101• Founder and CEO of Codefresh
@RazielTabib
About CodefreshContinuous Integration & Collaboration platform for Docker images and microservices
@codefreshwww.codefresh.io
Codefresh customers:
What we will see today• Docker intro• Docker benefits for the Agile teams• Live Demo• Q&A
Recording available athttps://vimeo.com/channels/containers101
Intro to Docker• A technology for building/running software in an isolated
operating environment• Provide process/resource isolation while running on a
single shared OS kernel• Different than VM -> lighter, faster & easily integrated
VMDocker
TerminologyDocker ImagesBlueprints of our application
ubuntu & node
mongo
ubuntu & Go
redis
Docker image
Docker image
Docker image
Docker image
TerminologyDocker ImagesBlueprints of our application
Docker ContainerCreated from docker images and are real instances of our application
Docker container
Docker container
Docker containerubuntu & node
mongo
ubuntu & Go
redis
Docker image
Docker image
Docker image
Docker image
TerminologyDocker ImagesBlueprints of our application
Docker ContainerCreated from docker images and are real instances of our application
Docker DaemonBuilding, running and distributing Docker containers
Docker ClientRun on our local machine and connect to the daemon
Docker machineSetup Docker hosts (locally or remotely)
Docker SwarmNative clustering for Docker
Docker ComposeCompose is a tool for defining and running multi-container Docker applications.
Complete documentation @https://docs.docker.com/compose/overview/
Docker Compose exampleVersion: ‘2’Services: Web: build: . mongo: image: mongo:latest
docker-compose.yml
nodejs Mongo
Lets chat app
Docker Toolbox
https://www.docker.com/products/docker-toolbox
Benefits for Dev & Test➢ Continuous Integration➢ Parallelized integration tests
Staging ProductionBuild
<>
Commit/PR
Unit Test
<>
Commit/PR
<>
Commit/PR
Integration Test
composition composition composition
Unit & Integration Test
Benefits for Dev & Test➢ Continuous Integration➢ Parallelized integration tests➢ Collaboration
➢ Feature Preview➢ Early manual and UX tests
Demo
Additional resources• Codefresh blog www.codefresh.io/blog• Vimeo channel www.vimeo.com/channels/containers101• Containers #101
http://www.meetup.com/Containers-101-meetup/• Check us out @
www.codefresh.io
@codefresh