MariaDB в Docker: Простое руководство для начинающих.

Если вы ищете удобный способ запускать базу данных MariaDB без сложной установки и настройки, то использование Docker — отличный выбор. В этой статье мы подробно расскажем, как развернуть MariaDB в Docker и настроить её под свои нужды.

Важно: Установка Docker — отдельная тема. Если вы ещё не устанавливали Docker на свой компьютер или сервер, рекомендуем ознакомиться со статьей для Windows или Linux соответственно, где описан процесс установки по шагам.

Что такое MariaDB и зачем использовать её в Docker?

MariaDB — это популярная свободная система управления базами данных, которая широко используется для хранения информации в веб-приложениях.

Docker — платформа для контейнеризации, которая позволяет запускать приложения в изолированных средах.

Совмещение MariaDB и Docker помогает быстро запускать базы данных, легко управлять их настройками и избегать проблем с зависимостями.

Почему стоит использовать MariaDB в Docker?

  • Легко разворачивать и останавливать: запуск базы данных занимает всего несколько команд.
  • Изолированность: MariaDB работает в отдельном контейнере, не мешая другим приложениям.
  • Простая настройка и обновление: можно быстро создать новые контейнеры или обновить существующие.
  • Совместимость: образ MariaDB уже содержит все необходимые компоненты.

Как запустить MariaDB в Docker — пошаговая инструкция

Ранее было упомянуто, что установка Docker — отдельная тема, и мы предполагаем, что у вас он уже установлен и готов к использованию.

Шаг 1. Выкачать Docker-образ MariaDB

Для начала нужно скачать официальный образ MariaDB из Docker Hub. Для этого откройте командную строку или терминал и выполните команду docker pull:

[root@waky ~]# docker pull mariadb
Using default tag: latest
latest: Pulling from library/mariadb
20043066d3d5: Already exists
75e5c9f5eeb0: Pull complete
ee5b64c3e2f5: Pull complete
ba2d27f4ceca: Pull complete
4be15142d46e: Pull complete
9047f410cb7d: Pull complete
be922ac1f9ed: Pull complete
eca7ec75082e: Pull complete
Digest: sha256:e1bcd6f85781f4a875abefb11c4166c1d79e4237c23de597bf0df81fec225b40
Status: Downloaded newer image for mariadb:latest
docker.io/library/mariadb:latest
[root@waky ~]#

Эта команда загрузит последнюю стабильную версию образа MariaDB.

Шаг 2. Создать и запустить контейнер MariaDB

Теперь создадим контейнер и запустим его. Важные параметры:

-d — запуск в фоновом режиме
–name mariadb_container — название контейнера
p 3306:3306 – связь портов контейнера с портами хоста
v ./database_files:/var/lib/mysql – монтирование файлов базы в локальную директорию
-e MYSQL_ROOT_PASSWORD=ваш_пароль — задает пароль для пользователя root.

Используем команду docker run:

[root@waky practice]# docker run -d --name mariadb_container -p 3306:3306 -v ./ database_files:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mypassword mariadb
69d10a8de5ff42b4dc7e5d7d5d19fa5190edc7ff875d620c64fabe6a2482ba47
[root@waky practice]#

На вывод мы получили ID контейнера, а значит, он был успешно создан.

Шаг 3. Проверка работы контейнера

Проверим, что контейнер запущен и работает с помощью docker ps:

[root@waky practice]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                         NAMES
69d10a8de5ff   mariadb   "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes   0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp   mariadb_container
[root@waky practice]#

Вы увидите список активных контейнеров, среди которых присутствует MariaDB.

Шаг 4. Подключение к базе данных

Если нужно подключиться к базе данных внутри контейнера, это можно сделать двумя способами.

Через консоль контейнера командой docker exec:

[root@waky practice]# docker exec -it mariadb_container mariadb -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 12.1.2-MariaDB-ubu2404 mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> exit
Bye
[root@waky practice]#

Использованные параметры:

it – использование псевдо терминала в интерактивном виде
mariadb_container – имя контейнера, к которому обращаемся
mariadb –u root –p – команда, которую хотим выполнить

Команда представляет собой запрос на подключение к MariaDB пользователя (-u) root с использованием пароля(-p). Введите пароль, использованный при создании контейнера (-e MYSQL_ROOT_PASSWORD).

Если на хосте установлен клиент MariaDB, его так же можно использовать для подключения к базе контейнера:

[root@waky practice]# mariadb -h 127.0.0.1 -P 3306 -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 12.1.2-MariaDB-ubu2404 mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> exit
Bye
[root@waky practice]#

Для этого указываем локальный адрес хоста (h), порт хоста(P), на который транслируем порт контейнера, пользователя (u) и использование пароля (p).

После попадания в консоль MariaDB мы можем выполнять все те же операции, что и с программой, установленной на самом хосте.

Советы по использованию MariaDB в Docker

  • Обновление образа: чтобы обновить MariaDB, просто скачайте новую версию и перезапустите контейнер.
  • Автоматическая авторизация: для удобства можно настроить отдельного пользователя или подключение по сети.
  • Безопасность: используйте надежные пароли и храните их в защищенном месте.

Заключение

Использование MariaDB в Docker — это быстрый и удобный способ развернуть базу данных для любого проекта, будь то разработка, тестирование или даже небольшая продуктивная среда.

В данном руководстве мы рассмотрели базовые шаги: от скачивания образа до запуска и подключения. После освоения этих простых шагов, вы сможете легко управлять своими базами данных и быстро масштабировать их при необходимости.