Эффективное управление базами данных имеет решающее значение для любого приложения, а такие инструменты, как MySQL и phpMyAdmin, упрощают эту задачу. Однако их настройка может быть громоздкой. Docker Compose предоставляет элегантное решение, позволяющее без особых усилий развернуть эти сервисы. В этой статье мы расскажем вам об использовании конфигурации Docker Compose для настройки MySQL и phpMyAdmin, выделив доступные функциональные возможности и варианты настройки.
Предварительные требования
Прежде чем мы углубимся в работу, убедитесь, что в вашей системе установлен Docker. Если нет, вы можете скачать и установить Docker с https://github.com/3l4un1ck/mysql-phpmyadmin-docker-compose.
Клонирование репозитория
Чтобы не создавать файл docker-compose.yml вручную, клонируйте репозиторий, содержащий данный файл:
git clone https://github.com/3l4un1ck/mysql-phpmyadmin-docker-compose.git
cd mysql-phpmyadmin-docker-compose
Разбираем docker-compose.yml файла
docker-compose.yml
Файл в этом репозитории настраивает две службы: MySQL и phpMyAdmin.
version: '3.7'
services:
db:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_root_password
MYSQL_DATABASE: your_database_name
MYSQL_USER: your_username
MYSQL_PASSWORD: your_password
volumes:
- ./mysql_data:/var/lib/mysql
ports:
- "3306:3306"
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: always
depends_on:
- db
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: your_root_password
ports:
- "8080:80"
Сервис MySQL
- Образ: официальный образ MySQL Docker.
- Политика перезапуска: гарантирует автоматический перезапуск контейнера.
- Переменные окружения: Установите пароль root, имя базы данных, имя пользователя и пароль.
- Тома: монтируют локальный каталог (
./mysql_data
) для сохранения данных MySQL. - Порты: сопоставляет порт 3306 на хосте с портом 3306 в контейнере.
Служба phpMyAdmin
- Образ: официальный образ phpMyAdmin Docker.
- Политика перезапуска: гарантирует автоматический перезапуск контейнера.
- Зависит от: Гарантирует запуск phpMyAdmin после контейнера MySQL.
- Переменные окружения: Установите пароль хоста MySQL и root.
- Порты: сопоставляет порт 8080 на хосте с портом 80 в контейнере.
Настройка конфигурации
Измените файл docker-compose.yml
так, чтобы задать желаемый пароль root MySQL, имя базы данных, имя пользователя и пароль. Замените your_root_password
, your_database_name
, your_username
, и your_password
на свои учётные данные.
Запуск контейнеров
Выполните следующую команду, чтобы запустить контейнеры в отключенном режиме:
docker-compose up -d
Доступ к phpMyAdmin
Как только контейнеры будут запущены, вы сможете получить доступ к phpMyAdmin, перейдя по адресу http://localhost:8080
в вашем веб-браузере. Войдите в систему, используя предоставленные вами учётные данные root-пользователя MySQL.
Пароль мы указывали в конфигурации docker-compose.xml в параметре: MYSQL_ROOT_PASSWORD: your_root_password
Остановка и удаление контейнеров
Когда вы закончите, вы можете остановить и удалить контейнеры с помощью:
docker-compose down
Эта команда останавливает и удаляет оба контейнера MySQL и phpMyAdmin.
Сохраняемые данные MySQL
Данные MySQL сохраняются на хост-компьютере по адресу ./mysql_data
. Это гарантирует, что ваши данные останутся нетронутыми, даже если контейнер будет остановлен или удалён.
Параметры настройки
- Переменные среды: Легко изменяйте учетные данные MySQL и настройки базы данных.
- Порты: измените порты в файле
docker-compose.yml
на те, которые используются по умолчанию (3306 для MySQL и 8080 для phpMyAdmin), если они заняты другими приложениями. - Тома: Отрегулируйте настройки тома, чтобы настроить пути хранения данных.
Заключение
Использование Docker Compose для настройки MySQL и phpMyAdmin упрощает процесс управления вашими базами данных. Следуя этому руководству, вы сможете быстро развернуть и настроить эти службы в соответствии с вашими потребностями, обеспечивая плавный и эффективный рабочий процесс. Приятного программирования!