xn7.ru
Полезное

Быстрый способ развернуть MySQL и phpMyAdmin с помощью Docker

1 мин. чтения

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

Быстрый способ развернуть MySQL и phpMyAdmin с помощью Docker Фото Louan García / Unsplash

Часто для локальной разработки нам необходима база данных, поэтому эта статья поможет нам в этом вопросе для запуска 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.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

И мы можем его запустить

Terminal window
docker-compose up

Всё готово, спасибо за прочтение!

Как подключить Elasticsearch для Django REST Framework
Полезное

Как подключить Elasticsearch для Django REST Framework

Этот блог начнётся с непрофильной для него темы. Но задача интересная, и возможно кому-то мой способ поможет.

5 мин. чтения