Introduction to
Docker
Build, run and scale
About Me
● Vincent Sellier
○ @vsellier
● Operations manager at eXo
Agenda
Enjoy...
1. Docker fundamentals
2. Tools and Ecosystem
And demos
Docker
fundamentals
What is a container ?
What is Docker ?
● The docker engine is a wrapper for :
○ Namespaces
○ cgroups
○ Union file systems
● Hide the underlying complexity
Union filesystem
Layer 1
Layer 2
Layer 3
Layer 4
Layer 5
Active layer
Read
Write
3 important concepts
1. Immutability
2. Rapidity
3. Portability
Docker trends
Docker
Tools
Installation
● Supported by all recent linux distros
○ Package managers
○ One line installer
○ CoreOs : Fully docker oriented distros
● Supported on Mac and Windows
docker-machine
● Provision and configure docker hosts
● almost 15 supported drivers
○ VirtualBox
○ AWS
○ GoogleCloud
○ Microsoft Azure
○ VMware vSphere
○ OpenStack
○ ...
Docker Hub
● Online service maintained by Docker inc
● Image repository with versioning
● Content trust
● Public / Private spaces
● A private registry is available
The Dockerfile
● Simple DSL to extend images
○ Configure the base image
○ Update the content
○ Configure the startup behavior
● Each instruction results in one images layer
Data volumes
● Special directories excluded from the Union File System
● Persistents
● Sharable between containers
Networking and container links
● bind ports on docker hosts
● link two containers or more
○ Configure the network
○ Create an alias in the hosts file
○ Inherit ENV instructions from the source container
○ Support restart
docker-compose
● Define multi-container applications in one file
● Manage container dependencies
● Can build images
● Scale applications
docker-swarm
● Docker clustering
● Transparent for docker tools
● Host selector
● Support the new 1.9 docker network feature
docker-swarm
docker
docker-compose
swarm-master
discovery
service
docker host
docker host
docker host
docker host
Questions ?
Thanks

Intro 2 docker