docker for ops: docker storage and volumes deep dive and considerations by brian goff
TRANSCRIPT
What driver should I choose?
• AUFS• BTRFS• DeviceMapper• Overlay• Overlay2 (new in 1.12!!!)• ZFS
Container & Image Storage
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