Локальная база данных в Docker
Существует множество способов быстро поднять локальный сервер базы данных для разработки. Это краткий гайд для быстрой базовой настройки при помощи Docker.
Что понадобится:
1. Установленный Docker. Инструкция по установке.
2. Образ сервера базы данных. Например, MariaDB. Образ на Docker Hub.
3. Клиент для работы с базами данных. Например, TablePlus.
Запуск сервера БД в Docker:
docker run --detach --name mydb \ -p 33067:3306 --env MARIADB_ROOT_PASSWORD=root mariadb:latest
- mydb
— имя контейнера, в котором будет работать база данных
- 33067:3306
— здесь 33067 внешний порт, который будет использоваться для подключения к базе данных
- 1234
— пароль для пользователя root
Остановка сервера:
Для остановки и удаления контейнера с базой данных выполните команду:
docker stop mydb && docker rm mydb
Проверка запущенных контейнеров:
Если забыли название контейнера или порт, можно просмотреть список всех запущенных контейнеров с помощью команды:
docker ps
Подключение к базе данных:
После запуска контейнера можно подключиться к базе данных через TablePlus. В текущем примере это:
После подключения можно создать базы данных и таблицы через интерфейс клиента или sql запросы.
Сохранение данных:
Чтобы данные не пропали при остановке или удалении контейнера, можно настроить постоянное хранилище, указав volume (том) в команде запуска контейнера. Пример:
docker run --detach --name mydb \ -p 33067:3306 -v ./databases:/var/lib/mysql \ --env MARIADB_ROOT_PASSWORD=1234 mariadb:latest
В этом примере локальная директория ./databases
будет привязана к директории /var/lib/mysql
внутри контейнера, где БД MariaDB хранит свои данные. Таким образом, данные сохранятся на локальной машине и останутся доступными даже после перезапуска контейнера.