Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
70 lines (51 sloc) 2.51 KB

Build Status

Dockerfiles to run the XtreemFS services in containers.

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 https://github.com/xtreemfs/xtreemfs.git. After cloning the repositoring by running

git clone https://github.com/xtreemfs/xtreemfs-docker.git
cd xtreemfs-docker

start with building the xtreemfs/xtreemfs-common through executing

docker build -t xtreemfs/xtreemfs-common xtreemfs-common/

to build the common image. Continue with the service specific images

docker build -t xtreemfs/xtreemfs-dir xtreemfs-dir/
docker build -t xtreemfs/xtreemfs-mrc xtreemfs-mrc/
docker build -t xtreemfs/xtreemfs-osd xtreemfs-osd/

Service configuration files are expected to be mapped into /xtreemfs_data. The config files have to be named dirconfig.properties, mrcconfig.properties, and osdconfig.properties. Example configuration files for each service are provided in the config-examples directory. A new service can be startet for instance by running

docker run -v /xtreemfs_data:/xtreemfs_data -p 32640:32640 -t -d xtreemfs/xtreemfs-osd:latest

while the config is stored in /xtreemfs_data/osdconfig.properties on the host. Network ports have to be mapped adequately while executing docker run. Default ports are 32636 for the MRC, 32638 for the DIR, and 32640 for the OSD. You have to ensure that services register with the correct address at the DIR service, this can be achieved by setting the "hostname" parameter for the MRC and OSD service.

The provided client images contains the XtreemFS FUSE client and can be used to build customized images for own services or run it interactively. The client image is also based on the xtreemfs-common images and can be generated by executing

docker build -t xtreemfs/xtreemfs-client xtreemfs-client/

You can run the XtreemFS client in an interactive container by executing

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

Note that FUSE requires to run the container in the privileged mode.

Please consider the XtreemFS user guide at http://xtreemfs.org/userguide.php and the quick start tutorial at http://xtreemfs.org/quickstart.php for a general introduction to XtreemFS.