Public | Automated Build

Last pushed: 2 years ago
Short Description
Base xtreemfs image used to build all other xtreemfs components.
Full Description

Dockerfiles to run a cluster of XtreemFS services in containers. on one box (for demonstration purposes)

Before building the XtreemFS images, ensure that you have the current Ubuntu
baseimage by running

docker pull ubuntu

The images for the DIR, MRC, and OSD services are derived from a common image
named xtreemfs/xtreemfs-common. The containers are build from the XtreemFS Git
repository at After cloning the
repositoring by running

git clone
cd xtreemfs-docker

Start by running the script (This can take quite a while to build and at some stages seems to have errors but this is expected I assume as it actually works.)

Then spin up the cluster on your own machine using the following command...

docker-compose -p xd -f docker-compose.yml up -d

Then to test the cluster spin up a client docker container using the following command.

docker run -t -i --privileged xtreemfs/xtreemfs-client /bin/bash

To create a remote folder in the xtreemfs cluster use the following command. (Substitute your own ip address here)

mkfs.xtreemfs <your-ip-address>/MyVolume

To mount the remote folder to a local folder first create a local folder (in your home dir) with the following command.

mkdir ~/MyLocalFolder

To actually mount the remote folder to the newly created one use the following command

mount.xtreemfs <your-ip-address>/MyVolume ~/MyLocalFolder

Navigate to your local folder.

cd ~/MyLocalFolder

To create an empty file for testing use the standard linux command below.

touch my-file.txt

To check where the file is (on which node in your cluster) try this command.

xtfsutil my-file.txt

To make this file be Replicated on multiple nodes in the cluster you must change the replication policy.

WQRQ or QUORUM - replicates the file up to quorum level which means most nodes in your cluster

RONLY or READONLY - all replicated versions of this file will be read only.

WAR1 or ALL - replicated the file on all nodes in the cluster.

it may be worth adding --full if you want all of your replicated versions of the file to be complete rather than lazy loaded on demand.

xtfsutil -r WQRQ --full ~/my-file.txt

To list suitable available nodes to add a replica of this file onto use this command.

xtfsutil -l ~/my-file.txt

To add a replica of the file to one of the available nodes use this command.

xtfsutil -a auto ~/my-file.txt

You can do this with a folder aswell if you like rather than a file which means any files within the folder will be replicated as expected.

For more information on these docker images see


Docker Pull Command
Source Repository