Sign inSign up

panitz/mongodb-backup

By panitz

•Updated over 8 years ago

Regelmäßige Backups von MongoDB

Image
0

94

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