Docker Tutorials

How to Install MariaDB in Docker: A Step-by-Step Guide

Learn how to install MariaDB in Docker with this comprehensive step-by-step guide. Easily set up and manage your database environment for optimal performance and scalability.


Are you looking to install MariaDB in Docker and wondering where to start? Look no further! This comprehensive guide will walk you through the process step-by-step, ensuring a smooth installation of MariaDB in Docker. By the end of this guide, you’ll be equipped with the knowledge and confidence to set up MariaDB in Docker and enjoy its powerful features. So, let’s dive right in!

Why Use Docker for MariaDB?

Before we jump into the installation process, let’s take a moment to understand why using Docker for MariaDB is a great choice. Docker allows you to encapsulate MariaDB and its dependencies within a container, providing a lightweight, isolated, and portable environment. With Docker, you can easily manage and deploy MariaDB instances across different environments, ensuring consistency and eliminating the hassle of complex setup procedures. Now that we have a clear understanding, let’s get started with the installation process.



To install MariaDB in Docker, you’ll need to ensure that you have the following prerequisites in place:

  1. Docker: Make sure Docker is installed on your system. If you haven’t installed Docker yet, you can refer to the official Docker documentation for instructions tailored to your operating system.
  2. Docker Compose: Docker Compose is a tool for defining and running multi-container Docker applications. Ensure that you have Docker Compose installed as well. You can find detailed instructions on the Docker Compose installation page.

Step 1: Create a Docker Compose File

The first step is to create a Docker Compose file that describes the MariaDB service and its configuration. This file will allow you to define the necessary parameters for your MariaDB container. Here’s an example of a basic Docker Compose file:

version: '3'
    image: mariadb
    restart: always
      MYSQL_ROOT_PASSWORD: your_password
      - ./data:/var/lib/mysql

In this example, we define a service called “mariadb” based on the official MariaDB image. We set the root password using the MYSQL_ROOT_PASSWORD environment variable, and we mount a local directory ./data to the container’s /var/lib/mysql directory to persist the database files.

Step 2: Start the MariaDB Container

With the Docker Compose file ready, it’s time to start the MariaDB container. Open a terminal or command prompt, navigate to the directory where your Docker Compose file is located, and run the following command:

docker-compose up -d

The -d flag ensures that the container runs in the background. Docker Compose will start pulling the MariaDB image (if it’s not already available locally) and create a container based on the configuration specified in the Compose file.

Step 3: Verify the MariaDB Installation

Once the container is up and running, you can verify the MariaDB installation. Use the following command to list the running containers:

docker ps

You should see the mariadb container in the list. To access the MariaDB server, you can use a MySQL client tool such as the mysql command-line client. Install the MySQL client on your host system if you haven’t done so already.

To connect to the MariaDB container, run the following command:

mysql -h localhost -u root -p

You’ll be prompted to enter the root password you set in the Docker Compose file. Once you’re connected, you can execute SQL statements and manage your MariaDB instance.

Frequently Asked Questions

  1. Q: Can I customize the Docker Compose file for specific requirements?
    • Absolutely! The Docker Compose file provided in this guide serves as a starting point. Feel free to modify it according to your specific needs. You can add additional environment variables, mount different volumes, or define networking options based on your requirements.
  2. Q: How can I expose the MariaDB container to other services or the host machine?
    • By default, the MariaDB container listens on port 3306 within the Docker network. If you want to access the MariaDB instance from other services or from your host machine, you can expose this port by adding the following line to the Docker Compose file:yamlCopy codeports: - 3306:3306 This configuration maps port 3306 from the container to port 3306 on the host machine, allowing external access.
  3. Q: Can I use a different version of MariaDB in the container?
    • Certainly! The example Docker Compose file uses the latest version of the official MariaDB image. If you want to use a specific version, you can modify the image line in the Compose file, specifying the desired version. For example, image: mariadb:10.6 will use MariaDB version 10.6.
  4. Q: How can I persist the MariaDB data outside the container?
    • In the example Docker Compose file, we mount a local directory to the container’s /var/lib/mysql directory to persist the database files. You can change the path on the host machine to a location of your choice. This ensures that the data remains intact even if the container is restarted or removed.
  5. Q: Can I use Docker to set up a MariaDB cluster?
    • Yes, Docker can be used to create a MariaDB cluster by utilizing Docker Swarm or Kubernetes for orchestration. With these tools, you can easily set up a cluster of MariaDB containers across multiple nodes, providing high availability and fault tolerance.
  6. Q: How can I secure my MariaDB container?
    • To secure your MariaDB container, you can follow best practices such as using strong passwords, limiting access to the necessary ports, and regularly applying security patches. Additionally, you can configure SSL/TLS encryption for secure connections and implement access control measures within MariaDB itself.


Congratulations! You’ve successfully installed MariaDB in Docker using this step-by-step guide. Docker provides a convenient and efficient way to deploy MariaDB instances, making it easier to manage and scale your database environment. By following the instructions in this guide, you’ve gained the knowledge to set up MariaDB in Docker, customize the configuration, and address common concerns.

Remember to leverage the power of Docker for other applications as well, as it offers a wide range of benefits for containerizing and managing various software components. With Docker, you can enhance your development and deployment workflows while ensuring consistency and portability across different environments.

Now that you’ve mastered the installation process, feel free to explore additional Docker features and optimize your MariaDB setup further. Happy coding!

I hope this article was helpful, if you have any questions please feel free to contact me. If you would like to be notified of when I create a new post you can subscribe to my blog alert.

author avatar
Patrick Domingues

Leave a Comment

Stay Informed

Receive instant notifications when new content is released.