docker for ops: docker storage and volumes deep dive and considerations by brian goff

19
Storage-y things Brian Goff Core Engineer @cpuguy83

Upload: docker-inc

Post on 16-Apr-2017

3.837 views

Category:

Technology


1 download

TRANSCRIPT

Storage-y things

BrianGoffCore Engineer @cpuguy83

Container & Image Storage

Agenda

Persistent Storage

Image & Container Storage

What storage driver should I choose?

What driver should I choose?

• AUFS• BTRFS• DeviceMapper• Overlay• Overlay2 (new in 1.12!!!)• ZFS

Container & Image Storage

Persistent Storage

“Docker is for stateless applications!” — Uninformed

How do I do X with Docker?

Docker does not change computing fundamentals

Storage is hard!

Share state by communicating

We never lot anyone’s data – but we

had some data take some very, very

long vacations — Bryan Cantrill

Create a volume

$ docker volume create --name important_dataimportant_data$ docker run –d –v important_data:/var/lib/postgresql/data –-name pgdb postgres$ docker rm –f pgdb$ # Oh no! I removed my database!... But I didn’t lose my data$ docker run –d –v important_data:/var/lib/postgresql/data –-name pgdb postgres

Create a volume - NFS

$ docker volume create --name important_data --opt type=nfs --opt device=1.2.3.4:/export/pathimportant_data$ docker run –d –v important_data:/var/lib/postgresql/data –-name pgdb postgres$ docker rm –f pgdb$ # Oh no! I removed my database!... But I didn’t lose my data$ docker run –d –v important_data:/var/lib/postgresql/data –-name pgdb postgres

Create a volume - BTRFS

$ docker volume create --name important_data --opt type=btrfs --opt device=/dev/sdbimportant_data$ docker run –d –v important_data:/var/lib/postgresql/data –-name pgdb postgres$ docker rm –f pgdb$ # Oh no! I removed my database!... But I didn’t lose my data$ docker run –d –v important_data:/var/lib/postgresql/data –-name pgdb postgres

Create a volume - Gluster

$ docker volume create --name important_data --driver glusterfsimportant_data$ docker run –d –v important_data:/var/lib/postgresql/data –-name pgdb postgres$ docker rm –f pgdb$ # Oh no! I removed my database!... But I didn’t lose my data$ docker run –d –v important_data:/var/lib/postgresql/data –-name pgdb postgres

Storage-y things

BrianGoffCore Engineer @cpuguy83