Sign inSign up

panitz/mongodb-backup

By panitz

Updated over 8 years ago

Regelmäßige Backups von MongoDB

Image
0

93

panitz/mongodb-backup repository overview

mongodb-backup

Build

docker build -t panitz/mongodb-backup:1.0.0 .

Umgebungsvariablen

MONGODB_HOST

Der Hostname der MongoDB-Instanz bzw. des Replica Sets.

Default: localhost

MONGODB_PORT

Der Port der MongoDB-Instanz. Dieser Wert sollte bei Replica Sets nicht gesetzt werden.

Default: 27017

MONGODB_USER

Der Benutzername für die Authentifikation.

Default:

MONGODB_PASS

Das Passwort für die Authentifikation.

Default:

MONGODB_PASS_FILE

Es ist möglich, Swarm Secrets zu verwenden. Dazu muss über diese Umgebungsvariable der Pfad zu der Secret-Datei angegeben werden.

Um Swarm Secrets zu verwenden, sind folgende Schritte notwendig:

Swarm Secret erstellen

echo "root" | docker secret create mongodb_root_pass_v1 -

Secret in Konfigurationsdatei (Compose/Stack) eintragen
version: '3.1'

secrets:
  mongodb_root_pass_v1:
    external: true

services:
mongodb-backup-all:
  image: dev-registry.drk-neuss.de:5555/mongodb-backup:1.0.0
  volumes:
    - "/etc/localtime:/etc/localtime:ro"
    - "/opt/docker/backup/mongodb/all:/backup"
  environment:
    MONGODB_HOST: rd/192.168.178.15:22201,192.168.178.15:22202,192.168.178.34$
    MONGODB_USER: root
    MONGODB_PASS_FILE: "/run/secrets/mongodb_pass"
    MONGODB_AUTH_DB: admin
    EXTRA_OPTS: "--ssl --sslAllowInvalidHostnames --sslAllowInvalidCertificat$
    CRON_TIME: "*/1 * * * *"
    MAX_BACKUPS: 3
  deploy:
    replicas: 1
    placement:
      constraints:
        - node.labels.backup == true
  secrets:
    - source: mongodb_root_pass_v1
      target: mongodb_pass

Default:

MONGODB_AUTH_DB

Die Authentifikationsdatenbank für die Authentifikation.

Default:

EXTRA_OPTS

Diese Optionen werden an mongodump weitergeleitet.

Default:

MAX_BACKUPS

Die Anzahl der maximal aufzubewahrenden Backups. Ist diese Anzahl überschritten, dann wird das älteste Backup gelöscht.

Default:

CRON_TIME

Ein String im Crontab-Format, der angibt, wann das Backup durchgeführt werden soll.

Default: 0 0 * * *

INIT_BACKUP

Gibt an, dass ein Backup nach dem Starten des Containers durchgeführt werden soll.

Default:

Run

Alle Datenbanken
docker run -d --name mongodb-backup \
    -v "/etc/localtime:/etc/localtime:ro" \
    -v "/Users/manolo/Development/temp/mongodb-backup:/backup" \
    --env MONGODB_HOST=rd/192.168.178.15:22201,192.168.178.15:22202,192.168.178.34:22203 \
    --env MONGODB_USER=root \
    --env MONGODB_PASS=root \
    --env MONGODB_AUTH_DB=admin \
    --env EXTRA_OPTS="--ssl --sslAllowInvalidHostnames --sslAllowInvalidCertificates --gzip --oplog" \
    --env CRON_TIME="*/1 * * * *" \
    --env MAX_BACKUPS=3 \
    panitz/mongodb-backup:1.0.0

Eine bestimmte Datenbank
docker run -d --name mongodb-backup \
    -v "/etc/localtime:/etc/localtime:ro" \
    -v "/Users/manolo/Development/temp/mongodb-backup:/backup" \
    --env MONGODB_HOST=rd/192.168.178.15:22201,192.168.178.15:22202,192.168.178.34:22203 \
    --env MONGODB_USER=root \
    --env MONGODB_PASS=root \
    --env MONGODB_AUTH_DB=admin \
    --env EXTRA_OPTS="--ssl --sslAllowInvalidHostnames --sslAllowInvalidCertificates --gzip --db toto1" \
    --env CRON_TIME="*/1 * * * *" \
    --env MAX_BACKUPS=3 \
    panitz/mongodb-backup:1.0.0

Tag summary

Content type

Image

Digest

Size

131.9 MB

Last updated

over 8 years ago

docker pull panitz/mongodb-backup:1.0.0