Public | Automated Build

Last pushed: 7 months ago
Short Description
MariaDB docker container with easy configuration via environment variables.
Full Description

Outrigger MariaDB

MariaDB docker container with easy configuration via environment variables.

Supported tags and respective Dockerfile links

This mariadb image is a MySQL compliant database image with configuration through
a collection of environment variables detailed below.

For more documentation on how Outrigger images are constructed and how to work
with them, please see the documentation.

How to use this image

Starting a MariaDB instance:

docker run --name some-mariadb -e MYSQL_PASS=my-secret-pw -d phase2/mariadb

... where some-mariadb is the name you want to assign to your container and
my-secret-pw is the password to be set for the MySQL root user

Customizing Database Behavior

The MariaDB startup configuration is specified in the file /etc/mysql/my.cnf,
and that file in turn includes any files found in the /etc/mysql/my.cnf.d
directory that end with .cnf. Settings in files in this directory will augment
and/or override settings in /etc/mysql/my.cnf.

If you want to use a customized MySQL configuration, you can create your
alternative configuration file in a directory on the host machine and then mount
that directory location as /etc/mysql/my.cnf.d inside the mariadb container.

If /my/custom/config-file.cnf is the path and name of your custom
configuration file, you can start your mariadb container like this note that
only the directory path of the custom config file is used in this command):

docker run --name some-mariadb -v /my/custom:/etc/mysql/my.cnf.d -e MYSQL_PASS=my-secret-pw -d outrigger/mariadb

This will start a new container some-mariadb where the MariaDB instance uses the
combined startup settings from /etc/mysql/my.cnf and
/etc/mysql/conf.d/config-file.cnf, with settings from the latter taking
precedence.

If you add custom configuration in this way, you may invalidate the
environment variables as source of database configuration.

Environment Variables

Outrigger images use Environment Variables and confd
to "templatize" a number of Docker environment configurations. These templates are
processed on startup with environment variables passed in via the docker run
command-line or via your docker-compose manifest file. Here are the "tunable"
configurations offered by this image.

  • MYSQL_PASS: [admin] This will be the password that is set for the user
    named admin. The root user does not have a password and allow local connections only.
  • MYSQL_DATABASE: [e.g., app_db] If set, a database with this name will be
    created when the database first starts up. This is not set by default.
  • MYSQL_EXPIRE_LOGS_DAYS: [10]
  • MYSQL_MAX_ALLOWED_PACKET: [16M]
  • MYSQL_MAX_CONNECTIONS: [10]
  • MYSQL_QUERY_CACHE_LIMIT: [1M]
  • MYSQL_QUERY_CACHE_SIZE: [16M]
  • MYSQL_SLOW_QUERY_LOG: [0] By default the slow query log is disabled.
  • MYSQL_LONG_QUERY_TIME: [10] Long query threshold time in seconds.
  • MYSQL_LOG_QUERY_NO_INDEX: [0] By default do not log queries that do not use an index.

Security Reports

Please email outrigger@phase2technology with security concerns.

Maintainers

Docker Pull Command
Owner
outrigger
Source Repository