Product Docs
Open Source
Education
MariaDB is one of the most popular open source relational databases.
The image is available on cgr.dev:
cgr.dev
docker pull cgr.dev/chainguard/mariadb
The default MariaDB port is 3306. To run with Docker and allow empty passwords:
$ docker run -p 3306:3306 --rm -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 cgr.dev/chainguard/mariadb Mon Jan 23 03:47:20 UTC 2023 [Note] [Entrypoint]: Entrypoint script for MariaDB Server started. Mon Jan 23 03:47:20 UTC 2023 [Note] [Entrypoint]: Initializing database files PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER ! To do so, start the server, then issue the following command: '/usr/bin/mysql_secure_installation' which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the MariaDB Knowledgebase at https://mariadb.com/kb Please report any problems at https://mariadb.org/jira The latest information about MariaDB is available at https://mariadb.org/. Consider joining MariaDB's strong and vibrant community: https://mariadb.org/get-involved/ Mon Jan 23 03:47:21 UTC 2023 [Note] [Entrypoint]: Database files initialized ... 2023-01-23 3:47:23 0 [Note] Plugin 'FEEDBACK' is disabled. 2023-01-23 3:47:23 0 [Note] InnoDB: Buffer pool(s) load completed at 230123 3:47:23 2023-01-23 3:47:23 0 [Note] Server socket created on IP: '0.0.0.0'. 2023-01-23 3:47:23 0 [Note] Server socket created on IP: '::'. 2023-01-23 3:47:23 0 [Note] mariadbd: ready for connections. Version: '10.6.11-MariaDB' socket: '/run/mysqld/mysqld.sock' port: 3306 MariaDB Server
By default, this image runs as a non-root user named mysql with a uid of 65532.
mysql
You can use environment variables to create a new database and user upon initialization, and also to set up the root account password.
MARIADB_ROOT_PASSWORD
MARIADB_RANDOM_ROOT_PASSWORD
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD
MARIADB_DATABASE
MARIADB_USER
MARIADB_PASSOWORD
MARIADB_PASSWORD
This docker-compose.yaml sets up a MariaDB database with a default database and user. Other services can be added to create a local multi-node environment for development and tests.
docker-compose.yaml
version: "3.7" services: mariadb: image: cgr.dev/chainguard/mariadb restart: unless-stopped environment: MARIADB_RANDOM_ROOT_PASSWORD: yes MARIADB_USER: user MARIADB_PASSWORD: password MARIADB_DATABASE: test ports: - 3306:3306 volumes: - ./:/app networks: - wolfi networks: wolfi: driver: bridge