Distrubted Docker Volume Fun

JS

Taron Foxworth

@anaptfox

The Problem

So Docker...

DATA

CONTAINER

SERVER

So Docker...

DATA

CONTAINER

SERVER

So BETTER Docker...

DATA

CONTAINER

SERVER

DATA

So BETTER Docker...

DATA

CONTAINER

SERVER

DATA

So BETTER Docker...

DATA

CONTAINER

SERVER

DATA

Backups?

docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata

Dockers way ( according to docs )

My expectations

  • Automatic
  • Restore easily when shit goes down
  • Multiple Copies

Copying Underlying Data Files

  • Snapshots
  • cp
  • rsync

mongodump

MongoDB's way according to docs

  • Captures the documents in the database

DAT

Dat is a version-controlled, decentralized data sync tool for collaboration between data people and data systems.

My 

  • Automatic
  • Restore easily when shit goes down
  • Multiple Copies
  • Version Controlled

NEW

EXPECTATIONS

DATA

DATA

DATA

DATA

DATA

Demo Time

Running an app?

RW

R

NGINX

upstream backend {
    server 1.2.3.4:80 fail_timeout=5s max_fails=3;
    server 4.5.6.7:80 backup;
}

server {
    listen 80;
    server_name whatevs.com;

    location / {
        proxy_pass http://backend;
    }
}

RW

R

NGINX

Demo Time

Resources

http://docs.mongodb.org/master/core/backups/

https://github.com/maxogden/dat-core

http://dat-data.com/

https://docs.docker.com/userguide/dockervolumes/

 

Distributed Docker Volume Fun

By Taron Foxworth

Distributed Docker Volume Fun

  • 1,529