Containers #101
May 2016
About the meetup
• A series webinars & in person meetups
• Hands On
• Online session are recorded
• Question and Topics suggestion email
brittany@codefresh.io
Recording available at
https://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 Codefresh
Continuous Integration & Collaboration
platform for Docker images and
microservices
@codefresh
www.codefresh.io
Codefresh customers:
What we will see today
• Docker intro
• Docker benefits for the Agile teams
• Live Demo
• Q&A
Recording available at
https://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
Terminology
Docker Images
Blueprints of our application
ubuntu & node
mongo
ubuntu & Go
redis
Docker image
Docker image
Docker image
Docker image
Terminology
Docker Images
Blueprints of our application
Docker Container
Created 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
Terminology
Docker Images
Blueprints of our application
Docker Container
Created from docker images and are real instances of our application
Docker Daemon
Building, running and distributing Docker containers
Docker Client
Run on our local machine and connect to the daemon
Docker machine
Setup Docker hosts (locally or remotely)
Docker Swarm
Native clustering for Docker
Docker Compose
Compose is a tool for defining and
running multi-container Docker
applications.
Complete documentation @
https://docs.docker.com/compose/overview/
Docker Compose example
Version: ‘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

Containers #101 Meetup: Docker Build & Test Flow

  • 1.
  • 2.
    About the meetup •A series webinars & in person meetups • Hands On • Online session are recorded • Question and Topics suggestion email brittany@codefresh.io Recording available at https://vimeo.com/channels/containers101
  • 3.
    Build & TestDocker images May 2016
  • 4.
    About me • Developer,entrepreneur and technology enthusiast • Live in the Silicon Valley since 2008 • Organizer of Containers 101 • Founder and CEO of Codefresh @RazielTabib
  • 5.
    About Codefresh Continuous Integration& Collaboration platform for Docker images and microservices @codefresh www.codefresh.io Codefresh customers:
  • 6.
    What we willsee today • Docker intro • Docker benefits for the Agile teams • Live Demo • Q&A Recording available at https://vimeo.com/channels/containers101
  • 7.
    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
  • 8.
    Terminology Docker Images Blueprints ofour application ubuntu & node mongo ubuntu & Go redis Docker image Docker image Docker image Docker image
  • 9.
    Terminology Docker Images Blueprints ofour application Docker Container Created 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
  • 10.
    Terminology Docker Images Blueprints ofour application Docker Container Created from docker images and are real instances of our application Docker Daemon Building, running and distributing Docker containers Docker Client Run on our local machine and connect to the daemon Docker machine Setup Docker hosts (locally or remotely) Docker Swarm Native clustering for Docker
  • 11.
    Docker Compose Compose isa tool for defining and running multi-container Docker applications. Complete documentation @ https://docs.docker.com/compose/overview/
  • 12.
    Docker Compose example Version:‘2’ Services: Web: build: . mongo: image: mongo:latest docker-compose.yml nodejs Mongo Lets chat app
  • 13.
  • 14.
    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
  • 15.
    Benefits for Dev& Test  Continuous Integration  Parallelized integration tests  Collaboration  Feature Preview  Early manual and UX tests
  • 16.
  • 17.
    Additional resources • Codefreshblog 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