OpenIO Official Docker Image

Abstract

This Docker image provides an easy way to run an OPENIO namespace. It deploys and configure a simple non-replicated namespace in a single container.

OpenIO SDS service discovering and resolution relies on IPs, meaning that you can’t change service IPs after they have been registered to the cluster. By default, Docker networking may change you IP when you container restarts which is not compatible with OpenIO SDS at the moment.

Deploy

First, pull the OpenIO Docker image from the Docker Hub:

# docker pull openio/sds

By default, start a simple namespace listening on 127.0.0.1 inside the container using docker run:

# docker run -ti --tty openio/sds

Using host network interface

You can start an instance using Docker host mode networking, it allows you to access the services outside your container. You can specify the interface or the IP you want to use.

Setting the interface:

# docker run -ti --tty -e OPENIO_IFDEV=enp0s8 --net=host openio/sds

Specifying the IP:

# docker run -ti --tty -e OPENIO_IPADDR=192.168.56.101 --net=host openio/sds

Deploy the S3/Swift gateway

You can launch the OpenIO docker image with our S3 and Swift gateway embedded, and map its port (6007) to access to it remotely:

Launching the container with the port mapping:

# docker run -ti --tty -p 127.0.0.1:6007:6007 openio/sds

The S3 and Swift gateway is now accessible on 127.0.0.1:6007.

You can use the swift APIs:

# swift -A http://127.0.0.1:6007/auth/v1.0/ -U demo:demo -K DEMO_PASS stat

Or the S3 APIs with the aws CLI. First set your credentials in the following configuration file ~/.aws/credentials:

[default]
aws_access_key_id=demo:demo
aws_secret_access_key=DEMO_PASS

Finally you can pu your first object:

# aws --endpoint-url http://127.0.0.1:6007 --no-verify-ssl s3 cp /etc/localtime s3://bucket1