SlideShare a Scribd company logo
Discovering+Docker+
Volume+Plugins+and+
Apps+using+VirtualBox
Clint&Kitson&*&Developer&
Advocate&Leader
emccode.github.io
descrip(on
There%are%right%and%wrong%ways%to%use%containers%with%persistent%
applica4ons.%Lucky%for%you,%doing%it%the%right%way%is%much%easier%
nowadays%with%Docker%Volume%Plugins.%This%talk%will%focus%on%doing%
some%basic%educa4on%including%mostly%live%demos%to%show%how%you%
can%take%advantage%of%these%new%capabili4es%for%expanding%how%
you%leverage%containers.
Agenda
• Docker(Volume(Plugin(overview
• Volume(Plugins(with(VirtualBox(in(ac9on
• Inves9ga9ng(applica9ons(and(running(with(Volume(Plugin
• Thinking(about(availability
• Performing(failAover(of(a(container(to(another(container(host
Situa&on/Problem
• When&I&run&a&persistent&applica1on&in&a&container,&where&does&
my&data&get&stored?
• Possibly&a&data&volume
• Possibly&container&volume
• Possibly&an&exis1ng&private&mounted&volume&from&networked&
storage
• ..&howto&build&a&snowflake
• Container&hosts&should&be&immutable
Enter&Docker&Extensibility
• Volume
• Network
• Authoriza2on
• Composable8and8sustainable
• Consumed8solely8through8Docker8API
• Up8to8consuming8ecoAsystem8to8leverage8func2onality,8ie.8
container8schedulers
What%are%Docker%Volume%
Plugins
• Drama&cally*simplifies*external*storage*
for*usage*with*containers
• Service*that*runs*alongside*Docker*
daemon*receiving*Plugin*requests
• Extensible*storage*orchestra&on
• Lunch*is*ready*at*/var/lib/
plugin/volumes/vol1/data
• Serves*requests*for*Volume*Create/
Remove/Mount/Unmount/Path
How$do$we$play?
• VirtualBox,can,be,used,similar,to,
explore
• VirtualBox,is,popular,and,works,well,
on,laptops
• Provides,shared,storage,pla;orm,
through,Virtual,Media
• or,GCE,,AWS,EC2,,Openstack,Cinder,,
EMC,ScaleIO/XtremIO/Isilon/VMAX
• or,other,Volume,Plugins
• MulIple,container,hosts,(VMs),to,
ensure,failover,and,immutability
Typical(Install(and(Configure
• Install
curl -sSL https://dl.bintray.com/emccode/rexray/install | sh -
• /etc/rexray/config.yml
rexray:
logLevel: warn
storageDrivers:
- virtualbox
mount:
volume:
preempt: false
virtualbox:
endpoint: http://10.0.2.2:18083
tls: false
volumePath: "/Users/clintonkitson/Repos/vagrant-rexray/Volumes"
controllerName: SATA
Super&Simple&Example&using&
Vagrant&and&VirtualBox
• Requires
• Vagrant
• VirtualBox25.0.10+
• VBoxManage setproperty
websrvauthlibrary null
• vboxwebsrv -H 0.0.0.0 -v -b
Vagrant'example
git clone https://github.com/jonasrosland/vagrant-rexray
cd vagrant-rexray
vagrant up
vagrant ssh rexray-1
Discover)REX-Ray)and)
VirtulBox)on)rexray-1
sudo su
rexray
rexray volume --help
rexray volume ls
rexray volume create --volumename=testing --size=1
rexray volume mount --volumename=testing
ls /var/lib/rexray/volumes/testing/data
rexray volume unmount --volumename=testing
rexray stop
rexray start
docker'volume'create'.'
rexray.1
docker volume
docker volume create 
--driver=rexray --name=meetup1 --opt=size=2
docker volume ls
docker'run'with'busybox
docker run -ti 
--volume-driver=rexray -v meetup1:/meetup1 
busybox
df /meetup1
touch /meetup1/hello
exit
docker'run'to'verify'with'busybox
docker run -ti 
--volume-driver=busybox -v meetup1:/meetup1 
busybox
ls /meetup1
exit
docker'run'with'sharing'
volume
docker run -tid --name=container1 
--volume-driver=rexray -v meetup1:/meetup1 busybox
docker run -ti --volumes-from=container1 busybox
ls /meetup1
exit
docker exec container1 ls /meetup1
docker stop container1
Discovering+Volumes+and+Container+Images
• REX%Ray(Docs(on(Applica2ons
• Dockerfile(includes(a(VOLUME(instruc2on
• VOLUME(["/data"]
• Up(to(container(image(maintainer(to(properly(designate(
appropriate(loca2on(of(persistent(data
• Makes(a(container(workload(portable
• Enables(immutable(hosts
Discovering+Apps+and+Volumes+using+postgres
• postgres)on)docker)hub
• Dockerfile)for)postgres)9.5
• VOLUME)/var/lib/postgresql/data
running&postgres&,&internal&data&volume
docker run --name some-postgres 
-e POSTGRES_PASSWORD=mysecretpassword -d 
postgres
docker rm -f some-postgres
running&postgres&,&external&data&volume
docker volume create 
--driver=rexray --name=pdata --opt=size=3
docker run --name some-postgres 
-e POSTGRES_PASSWORD=mysecretpassword -d 
--volume-driver=rexray -v pdata:/var/lib/postgresql/data 
postgres
ls /var/lib/rexray/volumes/pdata/data
docker logs some-postgres
exit
try$a$failover$,$on$rexray,2
vagrant ssh rexray-2
sudo su
docker run --name some-postgres 
-e POSTGRES_PASSWORD=mysecretpassword -d 
--volume-driver=rexray -v pdata:/var/lib/postgresql/data 
postgres
Thinking'About'Availability
• Always(sharing(isn't(the(answer
• Safety(first(for(ext4/xfs
• Failure(scenarios?
• Container(dies?
• Container(run>me(borks?
• Kernel(problems?
• Host(unresponsive?
• ..(volumes(are(typically(aGached(and(
locked(to(hosts
turn%on%volume%mount%pre,emp-on
• vi$/etc/rexray/config.yml
• set$rexray.volume.mount.preempt: true
• rexray$stop
• rexray$start
do#a#failover#+#on#rexray+2
docker run --name some-postgres 
-e POSTGRES_PASSWORD=mysecretpassword -d 
--volume-driver=rexray -v data:/var/lib/postgresql/data 
postgres
Summary
• Volume(plugins(are(great
• Keep(container(hosts(immutable
• Persistent(volumes(can(be(orchestrated(for(containers
• Container(images(with(volumes(specified(are(easy(to(make(
persistent
EMC${code}$+$emccode.github.io
• Looking(for(folks(that(are(passionate(about(Containers,(Open(
Source,(and(DevOps
• REX?Ray
• RackHD
• mesos?module?dvdi
• OSS(ContribuCon(?(Docker,(Mesos,(others
THANK&YOU
emccode.github.io

More Related Content

PDF
Behind the scenes with Docker volume plugins
PPTX
Why should i care about stateful containers?
PDF
EC2 Storage for Docker 150526b
PDF
Discovering Volume Plugins with Applications using Docker Toolbox and VirtualBox
PPTX
Scaling Docker Containers using Kubernetes and Azure Container Service
PDF
Container Days Boston - Kubernetes in production
PPTX
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
PPTX
Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart
Behind the scenes with Docker volume plugins
Why should i care about stateful containers?
EC2 Storage for Docker 150526b
Discovering Volume Plugins with Applications using Docker Toolbox and VirtualBox
Scaling Docker Containers using Kubernetes and Azure Container Service
Container Days Boston - Kubernetes in production
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart

What's hot (20)

PPTX
Scale out data persistence for all your stateful container needs - Docker Mee...
PDF
Docker worshop @Twitter - How to use your own private registry
PDF
Docker Overview
PDF
Kubernetes intro public - kubernetes meetup 4-21-2015
PDF
Kubernetes 101 and Fun
PDF
Docker storage designing a platform for persistent data
PDF
Docker for mere mortals
PDF
Kubernetes and Hybrid Deployments
PPTX
Docker for Multi-Cloud Apps
PDF
Containerize! Between Docker and Jube.
PPTX
Docker Container As A Service - March 2016
PPTX
Docker for Fun and Profit
PDF
ContainerDayVietnam2016: Django Development with Docker
PPTX
Monitoring, Logging and Tracing on Kubernetes
PDF
Kubernetes automation in production
PDF
Orchestrating Docker with OpenStack
PPT
Docker and CloudStack
PDF
Delivering Go.CD with Terraform and Docker
PDF
Kube-AWS
PDF
Scaling Docker with Kubernetes
Scale out data persistence for all your stateful container needs - Docker Mee...
Docker worshop @Twitter - How to use your own private registry
Docker Overview
Kubernetes intro public - kubernetes meetup 4-21-2015
Kubernetes 101 and Fun
Docker storage designing a platform for persistent data
Docker for mere mortals
Kubernetes and Hybrid Deployments
Docker for Multi-Cloud Apps
Containerize! Between Docker and Jube.
Docker Container As A Service - March 2016
Docker for Fun and Profit
ContainerDayVietnam2016: Django Development with Docker
Monitoring, Logging and Tracing on Kubernetes
Kubernetes automation in production
Orchestrating Docker with OpenStack
Docker and CloudStack
Delivering Go.CD with Terraform and Docker
Kube-AWS
Scaling Docker with Kubernetes
Ad

Viewers also liked (7)

PPTX
Docker for Ops: Docker Storage and Volumes Deep Dive and Considerations by Br...
PDF
Persistent Data Storage for Docker Containers by Andre Moruga
PPTX
Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti...
PDF
Everything You Need to Know About Docker and Storage by Ryan Wallner, ClusterHQ
PPTX
VMworld 2015: Containers without Compromise - Persistent Storage for Docker C...
PPTX
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...
PDF
Managing Persistent Storage with Docker Containers by John Griffith and Garre...
Docker for Ops: Docker Storage and Volumes Deep Dive and Considerations by Br...
Persistent Data Storage for Docker Containers by Andre Moruga
Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti...
Everything You Need to Know About Docker and Storage by Ryan Wallner, ClusterHQ
VMworld 2015: Containers without Compromise - Persistent Storage for Docker C...
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...
Managing Persistent Storage with Docker Containers by John Griffith and Garre...
Ad

Similar to Discovering Docker Volume Plugins and Apps using VirtualBox (20)

PDF
Docker in real life
PPTX
Developer workflow with docker
PPSX
Docker Kubernetes Istio
PDF
Real-World Docker: 10 Things We've Learned
PDF
Faster and Easier Software Development using Docker Platform
PDF
Perspectives on Docker
PPSX
Containers Docker Kind Kubernetes Istio
PPTX
DevOps: Docker Workshop
PDF
Using Docker Developing And Deploying Software With Containers 1st Edition Ad...
PDF
Best Practices for Developing & Deploying Java Applications with Docker
PDF
codemotion-docker-2014
PDF
A to Z of Docker
PDF
Docker primer and tips
PDF
Docker presentasjon java bin
PDF
Docker 1.9 Workshop
PPTX
State of the Container Ecosystem
PDF
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
PDF
Docker From Zero To Hero Your Devops Kickstart Build Deploy And Manage Contai...
PDF
Dockercon 23 - Getting started with Docker
PDF
Docker - Getting Started
Docker in real life
Developer workflow with docker
Docker Kubernetes Istio
Real-World Docker: 10 Things We've Learned
Faster and Easier Software Development using Docker Platform
Perspectives on Docker
Containers Docker Kind Kubernetes Istio
DevOps: Docker Workshop
Using Docker Developing And Deploying Software With Containers 1st Edition Ad...
Best Practices for Developing & Deploying Java Applications with Docker
codemotion-docker-2014
A to Z of Docker
Docker primer and tips
Docker presentasjon java bin
Docker 1.9 Workshop
State of the Container Ecosystem
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Docker From Zero To Hero Your Devops Kickstart Build Deploy And Manage Contai...
Dockercon 23 - Getting started with Docker
Docker - Getting Started

Recently uploaded (20)

PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Cloud computing and distributed systems.
PDF
Machine learning based COVID-19 study performance prediction
PPT
Teaching material agriculture food technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
A Presentation on Artificial Intelligence
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
cuic standard and advanced reporting.pdf
PPTX
Machine Learning_overview_presentation.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
Assigned Numbers - 2025 - Bluetooth® Document
Cloud computing and distributed systems.
Machine learning based COVID-19 study performance prediction
Teaching material agriculture food technology
Programs and apps: productivity, graphics, security and other tools
Review of recent advances in non-invasive hemoglobin estimation
A Presentation on Artificial Intelligence
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Approach and Philosophy of On baking technology
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
cuic standard and advanced reporting.pdf
Machine Learning_overview_presentation.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
sap open course for s4hana steps from ECC to s4
Spectral efficient network and resource selection model in 5G networks
“AI and Expert System Decision Support & Business Intelligence Systems”
Digital-Transformation-Roadmap-for-Companies.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
A comparative analysis of optical character recognition models for extracting...

Discovering Docker Volume Plugins and Apps using VirtualBox