Since I like to play around with Docker volumes one day, I have to get used to CEPH somehow. :) I started by creating a single container that hosts all ceph-daemons needed and which pushes the necessary information to consuls key/value store: qnib/ceph-mono. A little stack to demonstrate it could be find - as usual - in my stack repository: $ git clone -b ceph-helloworld https://github.com/ChristianKniep/orchestra.git $ cd orchestra/ceph-helloworld/ $ docker-compose up -d $ docker-compose up -d Creating consul Pulling ceph (qnib/ceph-mono:latest)... *snip* Status: Downloaded newer image for qnib/d-ceph-fuse:latest Creating cephhelloworld_client_1 $ After a couple of seconds Consul (<docker-host>:8500) should be all green: Scale clients To show that it works between different containers we spin up some more clients: $ docker-compose scale client=5 Creating and starting 2 ... done Creating and starting 3 ... done Creating and starting 4 ... done Creating and starting 5 ... done $ Create Files Now we can create a file in one container and it's automatically appears in the others. $ docker exec -ti cephhelloworld_client_1 touch /ceph/testfile_$(date +%F) $ docker exec -ti cephhelloworld_client_2 ls -l /ceph/ total 0 -rw-r--r-- 1 root root 0 Dec 14 15:12 testfile_2015-12-14 $ Some bigger files: $ docker exec -ti cephhelloworld_client_3 dd if=/dev/zero of=/ceph/test50MB_$(date +%s) bs=1MB count=50 $ docker exec -ti cephhelloworld_client_4 ls -l /ceph/ total 48829 -rw-r--r-- 1 root root 50000000 Dec 14 15:14 test50MB_1450106080 -rw-r--r-- 1 root root 0 Dec 14 15:12 testfile_2015-12-14 That's about it... :)