---
title: 'Как установить MariaDB в Docker | Zomro'
description: 'В этой статье мы рассмотрим как установить в Docker контейнере MySQL сервер MariaDB, и увидим как ее подключиться к phpMyAdmin в docker-compose'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669736570_1.png'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Как установить MariaDB в Docker 



# Как установить MariaDB в Docker

20-11-2022

В этой статье мы рассмотрим как установить в Docker контейнере MySQL сервер MariaDB, и увидим как ее подключиться к phpMyAdmin в docker-compose который мы устанавливали в статье[ **Как установить phpMyAdmin в Docker**.](https://zomro.com/rus/blog/faq/289-kak-ustanovit-phpmyadmin-v-docker)  


**Итак, установим Docker.**

Как обычно, обновляем пакеты ОС.   

    
    
    apt update

  
Установим необходимые пакеты, и добавим новый репозиторий:
    
    
    apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

  
Обновляем пакеты с новым репозиторием:
    
    
    apt update

  
Устанавливаем Docker.
    
    
    apt-get install docker-ce docker-ce-cli containerd.io

  
Проверяем версию Docker:
    
    
    docker --version

  
![Как установить MariaDB в Docker - 1](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669736570_1.png)Смотрим статус:
    
    
    systemctl status docker

  
![Как установить MariaDB в Docker - 2](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669736593_2.png)  
В случае если он не запустился, запускаем:
    
    
    systemctl start docker
    

  
И добавляем в автозапуск.
    
    
    systemctl enable docker
    

  
![Как установить MariaDB в Docker - 3](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669736594_4.png)

**Устанавливаем Docker-Compose**
    
    
    curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    

  
Устанавливаем права на запуск для файла **docker-compose**. 
    
    
    chmod +x /usr/local/bin/docker-compose
    

  
Проверяем установился ли Docker-Compose:
    
    
    docker-compose --version
    

  
![Как установить MariaDB в Docker - 4](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669740139_5.png)  
Как видим, все в порядке. Переходим к созданию файла для Docker-Compose.  
  
Что бы ориентироваться в будущем в том где и что у нас установлено, создадим отдельную папку для данного проекта в каталоге **/home** и перейдем в него.
    
    
    mkdir /home/mariadb && cd /home/mariadb

  
В данном руководстве, мы будем устанавливать конкретную версию MariaDB 10.8. Но Вы можете установить нужную Вам из доступных на сайте hub.docker.com  
  
Для создания файла **docker-compose.yaml** воспользуемся репозиторием по ссылке <https://hub.docker.com/_/mariadb>  
  
Создаем файл **docker-compose.yaml** или **docker-compose.yml:**
    
    
    vim docker-compose.yaml
    

  
И добавляем в него следующий код:
    
    
    version: '3.1'
    
    services:
      mariadb:
        container_name: mariadb
        image: mariadb:10.8
        ports:
            - 3310:3306
        environment:
            MARIADB_USER: admin
            MARIADB_PASSWORD: your_password
            MARIADB_ROOT_PASSWORD: your_strong_pass
        restart: always

  
![Как установить MariaDB в Docker - 5](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669749511_10.png)  
Где:  
  
**mariadb** : название Вашего контейнера;  
**image: mariadb:10.8** : образ из которого будет развернута mariadb  
**ports: 3310:3306** \- порт 3310 который мы будем использовать для подключения к mariadb  
**restart:always** \- указывает на то что контейнер будет перезапущен при сбое или перезагрузке сервера  
**MARIADB_USER** : создание нового пользователя в данном случае это admin;  
**MARIADB_PASSWORD** : пароль для пользователя admin;  
**MARIADB_ROOT_PASSWORD** : этот пароль будет установлен для учетной записи root суперпользователя MariaDB .  
  
Запускаем наш скрипт (для этого нужно находиться в директории где создан наш файл. В данном случае это **/home/mariadb**):
    
    
    docker-compose up -d 
    

  
Дожидаемся скачивания образов, и развертывания.  
  
Проверяем:
    
    
    docker-compose ps
    

  
или 
    
    
    docker ps
    

  
![Как установить MariaDB в Docker - 6](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669748438_9.png)  
Для просмотра логов используйте команду 
    
    
    docker logs -f mariadb
    

  
  
Так же можно выполнить установку только в docker:
    
    
    docker run -d --name mariadb -e MARIADB_USER=admin -e MARIADB_PASSWORD=your_password -e MARIADB_ROOT_PASSWORD=your_strong_pass mariadb:10.8
    

  
  
Также данную версию базы данных mariadb:10.8 можно установить вместе с phpMyAdmin и привязать к ней. Рассмотрим как это сделать.  
  
Отредактируем созданный файл docker-compose.yaml
    
    
    vim docker-compose.yaml
    

  
  
Добавим ниже, следующую конструкцию:
    
    
    version: '3.1'
    
    services:
      mariadb:
        container_name: mariadb
        image: mariadb:10.8
        ports:
            - 3310:3306
        environment:
            MARIADB_USER: admin
            MARIADB_PASSWORD: your_password
            MARIADB_ROOT_PASSWORD: your_strong_pass
        restart: always
    
      phpmyadmin:
        image: phpmyadmin
        restart: always
        ports:
          - 8090:80
        environment:
          - PMA_HOST=mariadb
        depends_on:
          - mariadb

  
В секторе **phpmyadmin** мы добавили образ **phpmyadmin** , указали ему порт **8090** , но теперь он будет привязан к конкретному серверу базы данных, а именно к тому который мы установили/развернули **mariadb:10.8**.  
Этот параметр прописан в блоке **enviroment** где: **PMA_HOST=mariadb** \- указывает на контейнер/блок **mariadb** который описан выше в данном файле.  
Так же директива **depends_on:** указывает на зависимость старта/запуска от контейнера **mariadb**. Это значить что пока не запуститься контейнер с **mariadb** , контейнер с **phpmyadmin** не будет запущен. Можем запустить **phpmyadmin** и mariadb одной командой. 
    
    
    docker-compose up -d или **docker-compose up -d --force-recreate**
    

  
Проверяем:
    
    
    docker-compose ps
    

  
![Как установить MariaDB в Docker - 7](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669808417_docker-maria-admin.png)  
Подобным образом Вы можете установить нужную Вам версию базы данных MariaDB или MySQL.   
  
Как установить Postgres и pgadmin4 в Docker можно прочитать в статье [Как установить PostgreSQL и pgAdmin в Docker.](https://zomro.com/rus/blog/faq/283-kak-ustanovit-postgresql-i-pgadmin-v-docker)

Похожие статьи

[LAMP-стек на Ubuntu: Apache + MySQL + PHP для начинающих](https://zomro.com/rus/blog/faq/731-lamp-stack-on-ubuntu-apache-mysql-php-for-beginners) [Подключение к серверу по RDP на Windows](https://zomro.com/rus/blog/faq/147-podkljuchenie-k-serveru-po-rdp-na-windows) [Как заказать виртуальный сервер в новом биллинге](https://zomro.com/rus/blog/faq/229-kak-zakazat-server-v-novom-billinge) [Аудит безопасности VPS: Lynis, rkhunter, nmap](https://zomro.com/rus/blog/faq/713-vps-security-audit-lynis-rkhunter-nmap) [PowerShell: Отправка сообщений в Telegram](https://zomro.com/rus/blog/faq/352-powershell-sending-messages-to-telegram)

[ Виртуальный хостинг от €3.98/мес ](/rus/virtual)
