Быстрый способ развернуть MySQL и phpMyAdmin с помощью Docker
2 мин. чтения
В этой статье мы разберём как быстро запустить систему управления базами данных MySQL с phpMyAdmin. Для быстроты запуска и лучшего контроля мы будем использовать Docker
Часто для локальной разработки нам необходима база данных, поэтому эта статья поможет нам в этом вопросе для запуска MySQL
MySQL
В начале выберем необходимую версию MySQL из репозитория https://hub.docker.com/_/mysql. В данном случае, это 5.7.42
Далее придумаем имя для контейнера, откроем 3306 порт, укажем volume для хранения данных и зададим пароль для root пользователя в переменной MYSQL_ROOT_PASSWORD
У нас получится следующая конфигурацию:
mdb:
image: mysql:5.7.42
container_name: mdb
restart: always
environment:
- MYSQL_ROOT_PASSWORD=1234
ports:
- "3306:3306"
volumes:
- mdata:/var/lib/mysql
networks:
- mnetwork
Ещё здесь дополнительно указана сеть для дальнейшего соединения с контейнером phpMyAdmin
phpMyAdmin
Теперь настроим конфигурацию контейнера phpMyAdmin и свяжем его с нашим контейнером для MySQL
Укажем, чтобы phpMyAdmin был доступен на 8081 порту (http://localhost:8081)
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: always
ports:
- "8081:80"
links:
- "mdb:db"
depends_on:
- mdb
networks:
- mnetwork
Итоговый файл docker-compose.yml
Сейчас нам осталось создать volume для хранениях данных базы и настроить сеть, чтобы контейнеры работали внутри одной сети
volumes:
mdata:
networks:
mnetwork:
driver: bridge
В результате у нас получился вот такой файл docker-compose.yml, и мы можем его запустить docker-compose up
version: '3.9'
services:
mdb:
image: mysql:5.7.42
container_name: mdb
restart: always
environment:
- MYSQL_ROOT_PASSWORD=1234
ports:
- "3306:3306"
volumes:
- mdata:/var/lib/mysql
networks:
- mnetwork
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: always
ports:
- "8081:80"
links:
- "mdb:db"
depends_on:
- mdb
networks:
- mnetwork
volumes:
mdata:
networks:
mnetwork:
driver: bridge
Всё готово, спасибо за прочтение!