Быстрый способ развернуть MySQL и phpMyAdmin с помощью Docker
1 мин. чтения
В этой статье мы разберём как быстро запустить систему управления базами данных 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 и свяжем его с нашим контейнером для 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:
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
И мы можем его запустить
docker-compose up
Всё готово, спасибо за прочтение!