Docker Volume service S3



Docker-Volume-S3 ist unsere Implementierung eines S3 Treibers für Docker. Der Betrieb erfolgt via Systemd Service oder native als Docker Plugin. Um die Aktualisierbarkeit einfacher zu gestalten, empfehlen wir die Installation und Konfiguration mit Hilfe unseres Ansible Playbooks oder via Package Manager und dem einbinden unseres Repositories.

Voraussetzung

  • s3fs
  • Docker Engine

Manuelle Installation

Die executable “docker-volume-s3” erwartet die benötigte Konfiguration über Umgebungsvariablen.

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>

Wurde zuvor z.B. Rexray als S3 Volume Provider verwendet, enthalten die Buckets jeweils ein “data” Unterverzeichnis in dem die eigentlichen Daten liegen. Um dies zu Berücksichtigen, kann dieses Verzeichnis mit folgender Konfiguration angegeben werden:

S3_CONF_MOUNTDIR=/data

Desweiteren können folgende Default Einstellung verändert werden:

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

Anschließend kann der Service via “docker-volume-s3” ausgeführt werden.