Docker Volume service S3



Docker-Volume-S3 is my implementation of an S3 driver for Docker. The operation is done via Systemd service or native as a Docker plugin. To make updatability easier, I recommend installing and configuration with the help of my Ansible Playbook or via the Package Manager and including my repository.

Requierement

  • s3fs
  • Docker Engine

Manual Installation

The executable “docker-volume-s3” expects the required configuration via environment variables.

LOG_LEVEL=1
S3_CONF_ACCESSKEY=<s3accesskey>
S3_CONF_SECRETKEY=<s3secret>
S3_CONF_REGION=eu-central-1
S3_CONF_OPTIONS=allow_other,nonempty,use_path_request_style
S3_CONF_ENDPOINT=<s3endpoint>

If e.g. Rexray was used as S3 volume provider before, the buckets each contain a “data” subdirectory in which the actual data is stored. where the actual data is stored. To take this into account, this directory can be specified with the following configuration can be specified:

S3_CONF_MOUNTDIR=/data

Furthermore, the following default settings can be changed:

S3_CONF_SOCKET=/run/docker/plugins/s3.sock
S3_CONF_ROOTMOUNT=/mnt

Afterwards, the service can be executed via “docker-volume-s3”.