Public | Automated Build

Last pushed: 5 months ago
Short Description
container to be run alongside docker-compose setups
Full Description

About

The docker-mysql-backup image is meant to be run alongside a deployment that features a mysql/mariadb container that needs to be backed up.

The backup is performed using mydumper, a fast MySQL backup utility.

Usage

Add a service to your docker-compose file like so:

version: '2'

volumes:
  db-data:

services:
  mysql:
    image: mysql
    volumes:
      - db-data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD
      - MYSQL_DATABASE
      - MYSQL_USER
      - MYSQL_PASSWORD
    restart: unless-stopped
    ports:
      - 3406:3306
  backup:
    image: nikosch86/docker-mysql-backup:develop
    volumes:
        - ./data/backup:/backup
    environment:
      - MYSQL_ROOT_PASSWORD

as you can see it is best practice to store your mysql secrets in a .env file, so both containers have access to it
the minimal viable configuration just needs the root password, it will backup all databases and look for a container named mysql on port 3306
be aware, the backup container will create the folder /backup and use UID and GID 1000 to own it.
That means any folder mounted to the /backup location will be affected by that.

additional configuration can be done by using these environment variables:

  • MYSQL_CONTAINER
  • MYSQL_PORT
  • MYSQL_DATABASE
  • BACKUP_UID
  • BACKUP_GID
  • UMASK
  • BASE_DIR
  • MODE
  • RESTORE_DIR
  • OPTIONS

BASE_DIR is the directory the backups will be written to inside the container.

setting OPTIONS will override the options set for mydumper / myloader

The container will stop automatically as soon as the backup is done.
To start backing up you need to start the container.

docker-compose up -d backup

restore

To restore a backup, the environment variable MODE needs to be set to RESTORE
RESTORE_DIR needs to be set to the directory of your backup
Starting the container will use myload to restore the specified backup into the
specified container and database

Docker Pull Command
Owner
nikosch86
Source Repository

Comments (0)