Docker Image with Alpine Linux, mongodump and awscli for backup mongo database to s3
1.6K
This image is based on the works of Leonardo Gatica (lgatica/mongodump-s3). The image has mongodb tools for version 4, and is modified to work as an idle sidecar in Kubernetes along with Heptio Ark.
Idle container, do backup on request
docker run -d --name mongodump
-e "MONGO_URI=mongodb://user:pass@host:port/dbname" -e "AWS_ACCESS_KEY_ID=your_aws_access_key" -e "AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key" -e "AWS_DEFAULT_REGION=us-west-1" -e "S3_BUCKET=your_aws_bucket" -e "BACKUP_CRON_SCHEDULE="idle" -e "MONGO_COMPLETE=true" -e "MAX_BACKUPS=5" cblims/mongodump-s3
Hook before Ark is doing snapshot backup:
pre.hook.backup.ark.heptio.com/container: mongodump-s3 pre.hook.backup.ark.heptio.com/command: backup
You need to add a user with the following policies. Be sure to change your_bucket by the correct.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1412062044000", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::your_bucket/*" ] }, { "Sid": "Stmt1412062128000", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::your_bucket" ] } ] }
S3_PATH - Default value is mongodb. Example s3://your_bucket/mongodb MONGO_COMPLETE - Default not set. If set doing backup full mongodb MAX_BACKUPS - Default not set. If set doing it keeps the last n backups in /backup BACKUP_CRON_SCHEDULE - Cron definition for scheduled backup, or idle for idle container
MIT
Content type
Image
Digest
Size
68.2 MB
Last updated
almost 8 years ago
docker pull cblims/mongodump-s3