Sign inSign up

craftdock/mariadb

By craftdock

•Updated over 7 years ago

Minimal Alpine image with MariaDB

Image
0

1.4K

craftdock/mariadb repository overview

⁠MariaDB

This is a docker image for MariaDB⁠ database running on Alpine container⁠ with runit⁠ process supervisor.

⁠Volumes

  • /etc/mysql
  • /var/lib/mysql
  • /backup/mysql

⁠Ports

  • 3306

⁠Available environment variables

NameDefault valueInfo
MYSQL_ROOT_PASSWORD[empty]sets a root password
MYSQL_ALLOW_EMPTY_PASSWORDfalseEnable empty password (true or false)
MYSQL_RANDOM_ROOT_PASSWORDfalseGenerate random root password (true or false)
MYSQL_DATABASE[empty]creates a database as provided by input
MYSQL_USER[empty]creates a user with owner permissions over said database
MYSQL_PASSWORD[empty]changes password of the provided user (not root)
MYSQL_DATA_DIR/var/lib/mysql/Change mysql default directory
MYSQL_STARTCMD/usr/bin/mysqldDefault start command
MYSQL_STARTPARAMS--skip-host-cache --skip-name-resolve --debug-gdbDefault start parameters
DEFAULT_CHARACTER_SETutf8
CHARACTER_SET_SERVERutf8
COLLATION_SERVERutf8_general_ci
TIME_ZONE+00:00
KEY_BUFFER_SIZE16M
MAX_ALLOWED_PACKET1M
TABLE_OPEN_CACHE64
SORT_BUFFER_SIZE512K
NET_BUFFER_SIZE8K
READ_BUFFER_SIZE256K
READ_RND_BUFFER_SIZE512K
MYISAM_SORT_BUFFER_SIZE8M
BIND_ADRESS0.0.0.0
LOG_BINmysql-bin
BINLOG_FORMATmixed
SERVER_ID1
INNODB_DATA_FILE_PATHibdata1:10M:autoextend
INNODB_BUFFER_POOL_SIZE16M
INNODB_LOG_FILE_SIZE5M
INNODB_LOG_BUFFER_SIZE8M
INNODB_EMPTY_FREE_LIST_ALGORITHMlegacy (Removed in 10.3)
INNODB_FLUSH_LOG_AT_TRX_COMMIT1
INNODB_LOCK_WAIT_TIMEOUT50
INNODB_USE_NATIVE_AIO1
INNODB_LARGE_PREFIX`OFF`` (Removed in 10.3)
INNODB_FILE_FORMATAntelope (10.1) Barracuda (10.2) (Removed in 10.3)
INNODB_FILE_PER_TABLEON
MAX_ALLOWED_PACKET16M
KEY_BUFFER_SIZE20M
SORT_BUFFER_SIZE20M
READ_BUFFER2M
WRITE_BUFFER2M
RETENTION_DAYS14

⁠How to use this image

Build :

docker build -t craftdock/mariadb .

Typical usage:

docker run -d --name=mariadb \
        -e MYSQL_ROOT_PASSWORD=<secretpassword> \
        -e MYSQL_DATABASE=<databasename> \
        -e MYSQL_USER=<username> \
        -e MYSQL_PASSWORD=<password> \
        -v $(PWD)/mariadb/:/var/lib/mysql \
            craftdock/mariadb

Don't want to enable remote access client. Change the MYSQL_STARTPARAMS environment variables to --skip-networking --skip-host-cache --skip-name-resolve --debug-gdb

docker run -d --name=mariadb \
        -p 3306:3306 \
        -e MYSQL_ROOT_PASSWORD=<secretpassword> \
        -e MYSQL_DATABASE=<databasename> \
        -e MYSQL_USER=<username> \
        -e MYSQL_PASSWORD=<password> \
        -e MYSQL_STARTPARAMS='--skip-networking --skip-host-cache --skip-name-resolve --debug-gdb' \
        -v $(PWD)/mariadb/:/var/lib/mysql \
            craftdock/mariadb

To start or stop MariDB, get an sh command prompt inside the container:

docker exec -it mariadb sh

# Start mariadb
runit service mariadb start
# Stop mariadb
runit service mariadb stop
# Restart mariadb
runit service mariadb restart
# Status of mariadb
runit service mariadb status

# Stop the container
runit stop

Tag summary

Content type

Image

Digest

Size

260.7 MB

Last updated

over 7 years ago

docker pull craftdock/mariadb