Docker image to store expanded MariaDB database data as Docker layer
10K+
Usually, MariaDB uses data directory specified as a Docker volume that is mounted onto host: this allows retaining data after container restarts.
The MariaDB image in this project uses custom location /usr/lib/db-data (not
a Docker volume) to store expanded database files. These files then can be
captured as a Docker layer and stored as an image to docker registry.
Image consumers download the image and start containers with instantaneously available data (no time-consuming database imports required).
Technically, majority of the functionality is relying on upstream uselagoon/mariadb-drupal Docker image.
Entrypoint script had to be copied from upstream script and adjusted to support custom data directory.
Drupal website with a large database.
When required, website developers restart docker stack locally with an already imported database, which saves a significant amount of time for database imports.
./seed-db.sh allows to easily create your own image with "seeded" database.
./seed-db.sh path/to/db.sql myorg/myimage:latestdocker push myorg/myimage:latestIn some cases, shell may report platform incorrectly. Run with forced platform:
DOCKER_DEFAULT_PLATFORM=linux/amd64 ./seed-db.sh path/to/db.sql myorg/myimage:latest
tests/bats/node_modules/.bin/bats tests/bats/data.bats --tap
# or
DOCKER_DEFAULT_PLATFORM=linux/amd64 tests/bats/node_modules/.bin/bats --tap tests/bats/data.bats
This image is built and pushed automatically to DockerHub:
main branch as canary tag.:<version> and latest tag.feature/my-branch branches as feature-my-branch tag.Versions are following versions of the upstream image to ease maintenance.
Content type
Image
Digest
sha256:4738a6569…
Size
99 MB
Last updated
about 12 hours ago
docker pull drevops/mariadb-drupal-data:canaryPulls:
251
Last week