This is not the official mariadb Docker Image source. .
The following command downloads and launches the already built image from Docker Hub (https://hub.docker.com/r/hammadrauf/mariadb)
docker run --name mariadb01 -d -p 3306:3306 -v mysql-data:/var/lib/mysql hammadrauf/mariadb
OR The Following command downloads and launches the already built image from Quay.io Regsitry (https://quay.io/repository/hammadrauf/mariadb)
docker run --name mariadb01 -d -p 3306:3306 -v mysql-data:/var/lib/mysql quay.io/hammadrauf/mariadb
You can mount the volume on the Host server that is running the Docker Container system.
On Linux:
$ docker run --name mariadb01 -d -p 3306:3306 -v /home/user01/mysql-data:/var/lib/mysql hammadrauf/mariadb
On Windows:
C:\> docker run --name mariadb01 -d -p 3306:3306 -v "C:\\Users\\user01\\mysql-data":/var/lib/mysql hammadrauf/mariadb
docker stop mariadb01
docker start mariadb01
docker exec -it mariadb01 /bin/bash
docker ps -a
docker rm -f mariadb01
docker image ls
docker image rm <<IMAGE ID>>
docker image rm b45e3b4b08de
docker image prune
To custimize the Docker Image and build it yourself locally perform the following steps.
git clone https://github.com/hammadrauf/mariadb-docker.git
cd mariadb-docker
Now do your edits to the Dockerfile or other scripts.
docker build -t mariadb .
docker build -t mariadb --env MYSQL_DB_NAME=yahoodb --env PU_PWD=hello02 .
docker run --name mariadb01 -d -p 3306:3306 mariadb
container (Default=docker)
TERM (Default=linux)
DEBIAN_FRONTEND (Default=noninteractive)
MYSQL_DB_NAME (Default = $ARG_MYSQL_DB_NAME or my_db, if ARG is not defined)
ROOT_PWD (Default to changeme01)
POWER_USER (Default to ceaser)
PU_PWD (Default to changeme02)
On Linux:
$ docker run --name mariadb01 -d -p 3306:3306 -v /home/user01/mysql-data:/var/lib/mysql --env MYSQL_DB_NAME:newdbname hammadrauf/mariadb
docker build --tag <<Your Account Name>>/mariadb .
docker push ........
podman push --creds USERNAME:PASSWORD hammadrauf/mariadb-docker docker://docker.io/hammadrauf/mariadb-docker:latest
- First stop the running target container.
docker stop mycontainer
- Choose a Host backup folder or make one if does not exist.
- Spin a temporary docker container with Host mounted backup folder + plus the predefined volume, and backup the files.
On Linux Host:
$ docker run --rm -v myvolume1:/copythis -v /home/user01/backups:/backups ubuntu bash -c "cd /copythis && tar czvf /backup/site-backup.tar.gz ."
On Windows Host:
C:\> docker run --rm -v myvolume1:/copythis -v "C:\\Users\\user01\\docker_volumes\\backups":/backups ubuntu bash -c "cd /copythis && tar czvf /backup/site-backup.tar.gz ."
- Create a volume that will contain recovered data.
docker volume create my-recovered-volume
- Spin a temporary docker container with Host mounted backups folder + new volume.
On Linux Host:
$ docker run --rm -v my-recovered-volume:/recover -v /home/user01/backups:/backups ubuntu bash -c “cd /recover && tar xzvf /backups/site-backup.tar.gz"
On Windows Host:
C:\> docker run --rm -v my-recovered-volume:/recover -v "C:\\Users\\user01\\docker_volumes\\backups":/backups ubuntu bash -c "cd /recover && tar xzvf /backups/site-backup.tar.gz"
- Start the target container with my-recovered-volume mounted at the correct mount point.
For critical data Remote backup of backup should be performed.