DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

19
Everything you need to know about Docker and storage. Ryan Wallner Technical Evangelist, ClusterHQ

Transcript of DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Page 1: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Everything you need to know about Docker and storage.

Ryan WallnerTechnical Evangelist, ClusterHQ

Page 2: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Key Concepts Stateful vs Stateless Volumes Plugins

Agenda

Volumes & UCP UCP + Volumes External Volumes VolumeHub

Demo Creating Volumes Manage Volumes Workloads

Page 3: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Key ConceptsDocker & Storage

Page 4: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Docker + Storage

Page 5: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

"Stateful" Container

• Secrets - public/private keys, password, etc

• Databases - databases, sharded, clustered.

• Logs - to collect support bundles, run analytics for data mining, etc.

• Other - CI repo data, transcoded bits...

Stateful vs. Stateless"Stateless" Container

• Nothing to Disk • Web Front-End • Can stop and start as many

containers as you’d like • Like http is stateless • Container is ephemeral • What has happened or changed will

be lost.

Page 6: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Docker volumes help store state from the application to locations outside the docker image layer. They are logical building blocks for shared storage when combined with plugins.

• Data is local to engine host only. • Bind-mounts also local, bypass

UFS. • Data is inflexible, prone to loss.

Docker Volumes

$ docker run \ --name my-special-container \ -v /container/dir busybox

[{e779eb1/var/lib/docker/volumes/e779eb1/_ data /container/dir local true }]

Page 7: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Enable external storage management such as shared-storage for volumes.

• Data is external to engine host. • Enables HA for data. • Data can move with container on

failure, maintenance etc.

Docker Volume Plugins

Page 8: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Example

$ docker run --name database \ --volume-driver flocker \ -v vol:/data redis database

$ docker inspect -f “{{.Mounts}}” database [{vol /flocker/71887326.. /data flocker rw true rprivate}]

Page 9: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Container Movement

Page 10: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Volumes & UCPDocker & Storage

Page 11: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Volumes in UCP• Create, Delete, Use from UI • Takes advantage of volume

drivers.

• Limited view into volume management

Page 12: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

VolumeHub• Clear visibility for volume

management. • Current status of volumes and

their operations. • Searchable name and metadata. • How much storage in use by size

of volumes.

Page 13: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ
Page 14: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Demo

Page 15: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Demo Intro

$ docker volume create \ -d flocker --name testfailover \ -o size=10G

$ docker run -d --name=redis-server \ --volume-driver=flocker -v testfailover:/data \ -e reschedule:on-node-failure -e constraint:node!=mha-demo2 \ redis redis-server --appendonly yes

Page 16: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Container running in UCP.

Page 17: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Simulate a Failure

Page 18: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Container Re-scheduling

Page 19: DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Storage by ClusterHQ

Thank you!