Quick overview of Docker and its usage.
Illustrated with a cluster of Rails applications and a Ruby load balancing proxy on top of them.
This presentation was made during the rivierarb meetup in Sophia-Antipolis on 2014 Feb 04th by Muriel Salvan.
and stays sealed until it reaches final delivery. …in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another
workers API endpoint Development VM QA server Public Cloud Disaster recovery Contributor’s laptop Production Servers Production Cluster Customer Data Center Do services and apps interact appropriately? Can I migrate smoothly and quickly?
workers API endpoint Development VM QA server Public Cloud Disaster recovery Contributor’s laptop Production Servers Production Cluster Customer Data Center
images' file systems (isolated like in chroot) • In a separate process space (using Linux containers) • With a specific network interface • Can run as root It's chroot on steroids!
J. Charmes <[email protected]> # make sure the package repository is up to date RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list RUN apt-get update RUN apt-get install -y inotify-tools nginx apache2 openssh-server
base image • Using an interactive bash in a container to install and configure the Rails application • Add a startup command: rails s • Open default port 3000
• Based on murielsalvan/ruby • Using an interactive bash to install and use em-proxy, targetting servers on ports 5000+i • Add a startup command: ruby -w balancing.rb • Open port 3000
160000 180000 Memory consumption per container (kB) Rails Linux container The Linux container memory is always the same whatever the process in the container: 1,5MB RSS and 32MB VSZ