Сохраните свои данные: запустите MariaDB с Docker

Опубликовано: 2022-10-25

MariaDB — это бесплатный сервер баз данных, обеспечивающий доступ к данным с помощью языка структурированных запросов (SQL). Он предлагает функции безопасности, такие как пароли, управление доступом на основе ролей и многое другое для защиты ваших данных.

Чтобы развернуть MariaDB и предоставить доступ к данным вашим пользователям, вам необходимо разместить сервер базы данных. Вы можете выбрать облачного провайдера или использовать услуги управляемого или общего хостинга.

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

Что такое докер?

Docker — это бесплатный инструмент разработчика, который позволяет запускать приложения в контролируемой среде, называемой контейнером. Контейнеры содержат код приложения, зависимости и важные системные инструменты для запуска вашего приложения. Это позволяет создавать надежные приложения на протяжении всего жизненного цикла разработки программного обеспечения.

Обычно контейнеры используют вашу операционную систему в качестве хоста. Это означает, что ядро ​​хост-машины обеспечивает доступ к таким ресурсам, как ЦП, память и файловая система. В результате для этого не требуется традиционная виртуализация, такая как виртуальные машины. Есть несколько преимуществ использования Docker для запуска экземпляра MariaDB:

  • Он имеет небольшой цифровой след, что обеспечивает эффективное использование системных ресурсов.
  • Это согласованно, что позволяет разработчикам запускать приложения в рабочей среде и тестировать развертывания с минимальными изменениями.
  • Он обеспечивает гибкий механизм совместного использования ресурсов.
  • Это масштабируемо — вы можете запускать множество контейнеров на одном хосте.

Как развернуть MariaDB с помощью Docker

В этом разделе вы создадите контейнерные среды для запуска MariaDB с помощью Docker. Вы узнаете о контейнерной технологии, предлагаемой Docker. Docker работает с большинством версий дистрибутивов Windows, macOS и Linux. Для этого руководства вам понадобится компьютер с Windows 10/11, Ubuntu 20.04 или macOS X.

1. Установите Докер

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

Убунту 20.04

Во-первых, обновите список пакетов Ubuntu.

 sudo apt-get update

Затем разрешите доступ к онлайн-репозиториям через HTTPS.

 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Установка докера через терминал.
Затем добавьте ключ GPG Docker.

 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Теперь добавьте репозиторий Docker.

 echo deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Затем обновите пакеты Ubuntu, включив в них репозиторий Docker.

 sudo apt-get update

Наконец, установите Docker Engine.

 sudo apt-get install docker-ce

Если вы используете другой дистрибутив Linux, например Debian или Fedora, следуйте официальной документации по установке Docker в Linux.

Windows 10/11

Docker доступен в Windows 10 или 11 с использованием подсистемы Windows для Linux версии 2 (WSL 2) в качестве серверной части. Используйте следующие шаги для установки Docker.

Сначала включите функцию платформы виртуальных машин в вашей системе Windows. Это позволяет вам установить WSL 2, а также установить и запустить виртуализированный экземпляр Linux на вашем компьютере с Windows.

Затем установите WSL.

Затем посетите Microsoft Store, чтобы загрузить Ubuntu 20.04.

Наконец, загрузите Docker Desktop для Windows. Откройте загруженный файл, чтобы запустить процесс установки.

После установки найдите «Docker Desktop» на панели задач и откройте его.

( Примечание: вам нужно будет использовать PowerShell в качестве терминала для использования команд Docker.)

Mac OS X

Docker доступен на компьютерах с macOS через Apple App Store. Доступны два установщика, предназначенные для чипов Intel и Apple.

Сначала загрузите соответствующий установщик по одной из ссылок выше. Затем дважды щелкните, чтобы открыть загруженный файл .dmg .

Затем перетащите значок Docker в папку « Приложения ».

Теперь откройте приложение Docker из папки « Приложения » и следуйте инструкциям для завершения настройки.

После завершения процесса установки дважды щелкните значок Docker в строке состояния на рабочем столе, чтобы открыть его.

Используйте терминал по умолчанию для запуска команд Docker.

2. Загрузите образ MariaDB

Образ Docker предоставляет набор команд и конфигураций для создания контейнера Docker. Он отвечает за установку всего необходимого для запуска приложения. Вы можете найти официальный образ MariaDB на Docker Hub.

Чтобы загрузить образ MariaDB из Docker Hub, вам нужно использовать команду docker pull :

 docker pull mariadb

Вы также можете просмотреть список загруженных образов Docker, выполнив следующее:

 docker images

Это вывод команды:

Список образов Docker.
Список образов Docker.

3. Создайте контейнер

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

 docker create mariadb --name mariadb-wp -i –t

Это создает контейнер MariaDB с именем mariadb-wp . Флаг –i разрешает интерактивный сеанс, а параметр –t создает псевдотерминал. Официальная документация предоставляет информацию обо всех доступных переменных.

4. Запустите, приостановите и остановите контейнер

Docker предоставляет разработчикам гибкость настраиваемых сред. В этом разделе мы настроим контейнер MariaDB с переменными среды, чтобы настроить определенные системные свойства для вашего контейнера.

В MariaDB есть много переменных, которые вы можете установить, например, имена баз данных, пароли и пользователи базы данных. Более широкий список поддерживаемых переменных среды см. в документации Docker для MariaDB.

 docker run -d --name mariadb-wp -p 3306:3306 -v '/path/on/host/:/var/lib/mysql' -e "MARIADB_ROOT_PASSWORD=" -e "MARIADB_DATABASE=wordpress" -e "MARIADB_USER=wordpress" -e "MARIADB_PASSWORD=" mariadb

Приведенная выше команда настраивает корневой пароль MariaDB, пользователя базы данных и соответствующий пароль. Затем он запускает MariaDB на порту 3306. Вы можете приостановить запуск приложения контейнера с помощью следующей команды:

 docker pause mariadb-wp

Наконец, вы также можете остановить приложение, работающее внутри контейнера, с помощью следующей команды:

 docker stop mariadb-wp

5. Подключите контейнерную базу данных MariaDB к сайту WordPress.

Теперь нам нужно подключить MariaDB к внешнему веб-сайту WordPress. Вы можете узнать больше о создании веб-сайта WordPress локально здесь.

В корневом каталоге веб-сайта WordPress откройте файл wp-config.php в редакторе кода. Найдите раздел кода, который определяет переменные для базы данных, и отредактируйте его, как показано ниже. Убедитесь, что вы используете имя базы данных, пароль и номер порта при создании контейнера MariaDB.

 define('DB_NAME', 'wordpress'); define('DB_USER', 'wordpress'); define('DB_PASSWORD', ''); define('DB_HOST', 'http://localhost:3306');

Затем вам нужно импортировать дамп базы данных вашего веб-сайта WordPress в контейнерную базу данных MariaDB. Во-первых, убедитесь, что вы экспортировали текущую базу данных для веб-сайта. Чтобы узнать больше, ознакомьтесь с нашим руководством по резервному копированию базы данных MySQL.

После экспорта базы данных установите дамп базы данных внутри контейнера.

 docker exec -i mariadb-wp sh -c 'exec mysql -u root -p "$MARIADB_ROOT_PASSWORD" < /some/path/on/your/host/all-databases.sql'

Команда docker exec позволяет разработчикам запускать команды оболочки внутри контейнера. Мы импортировали базу данных в MariaDB, используя экспортированный файл в приведенной выше команде.

6. Добавьте новую запись на свой сайт WordPress

Мы создадим образец сообщения, используя учетную запись администратора WordPress, чтобы протестировать эту интеграцию.

Сначала войдите в WordPress и нажмите Записи > Добавить новую . Заполните данные, как показано ниже, затем нажмите « Опубликовать » . После создания сообщения нажмите « Просмотреть сообщение» , чтобы просмотреть только что добавленное сообщение.

Добавление новой записи в редактор WordPress Gutenberg.
Добавление новой записи в редакторе WordPress.

И это все, что нужно!

7. MariaDB и Docker с DevKinsta

Бесплатное приложение Kinsta, DevKinsta, позволяет разработчикам эффективно создавать контейнерные сайты WordPress. Приложение использует Docker для настройки версий PHP, серверов баз данных и веб-серверов. Приложение DevKinsta поддерживает разработчиков, использующих macOS, Windows и Ubuntu/Linux.

Для начала загрузите, установите и запустите DevKinsta на локальном компьютере. Приложение дает вам три варианта: создать новый сайт WordPress, импортировать существующий из Kinsta или создать собственный сайт.

Новый экран DevKinsta для создания нового сайта.
Новый экран DevKinsta для создания нового сайта.

Создать новый сайт WordPress так же просто, как заполнить простую форму и нажать « Создать сайт ».

Новый экран создания сайта WordPress от DevKinsta.
Новый экран создания сайта WordPress от DevKinsta.

Поздравляем — теперь вы создали контейнерный веб-сайт WordPress с помощью DevKinsta!

Резюме

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

В этом руководстве вы узнали, как установить Docker, настроить MariaDB и подключить сайт WordPress к вашей контейнерной базе данных MariaDB. Кроме того, вы узнали, как использовать DevKinsta для создания полностью контейнерного веб-сайта WordPress.

Существует еще много всего, что можно изучить с созданием сайтов WordPress и его многочисленными хостинговыми решениями. Если вы хотите узнать, насколько простым может быть управление вашим сайтом, вам поможет управляемый хостинг WordPress от Kinsta.