Для развёртывания phpMyAdmin с MySQL в Docker, вам нужно создать docker-compose.yml файл, который будет содержать конфигурацию для обоих контейнеров.
Почему нельзя просто скачать MySQL WORKBENCH и работать так же локально?
При работе с MySQL WORKBENCH на компьютерах с процессорами M1 и так далее, у вас может возникнуть проблемы с внешним интерфейсом программы, например
А если брать конкретнее, то:
Пункт 1
Для начала вам нужно иметь уже контейнер с развёрнутой базой данных mysql.
Чтобы его создать нужно ввести команду:
docker run --name mysql-test
-v /Users/northbug/Development/testing/dbases:/var/lib/mysql
-p 33060:3306
-e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:8.0.36
Примечание 1
Вам нужно заменить путь к локальному каталогу, который вы мэпите внутрь контейнера с СУБД. Можно заменить название mysql-test и пароль my-secret-pw.
Примечание 2
Если контейнер не запустится, т.е. не будет выведен при запуске команды docker ps -a, то может потребоваться изменить порт, указываемый с помощью ключа -p. Например, так: -p 63306:3306
Для просмотра работающих контейнеров:
docker ps
Для просмотра всех контейнеров:
docker ps -a
Обращайте внимание на id, name.
Для остановки контейнера:
docker stop <id или name контейнера>
id можно указывать частично (первые 3-4 символа).
Для запуска контейнера:
docker start <id или name контейнера>
id можно указывать частично (первые 3-4 символа).
Эти же действия указываются через Docker Desktop (кнопка "Play" / "Stop")
Чтобы удалить работающий контейнер необходимо его остановить или вызвать удаление с ключом -f
Например:
docker rm -f <id или name контейнера>
или
docker stop <id или name контейнера>
Пункт 2
Далее нужно создать файл docker-compose.yml в проекте с содержанием:
version: '3'
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
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: always
ports:
- "8080:80"
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: your_root_password
Поменяйте your_root_password, your_database_name, your_username и your_password на ваши значения.
Пример:
version: "3"
services:
db:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: 1324
MYSQL_DATABASE: hello_phpmyadmin
MYSQL_USER: alexander
MYSQL_PASSWORD: 1324
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: always
ports:
- "8080:80"
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: your_root_password
После создания docker-compose.yml файла, выполните следующие команды в директории с файлом:
docker-compose up -d
Откройте браузер и перейдите по http://localhost:8080 или http://your_server_ip:8080 для доступа к phpMyAdmin. Введите учётные данные для подключения к MySQL.
В результате всей проделанной работы у вас должно получиться следующее:
А в консоли:
В phpmyadmin есть все функции, которые есть в MySQL WORKBENCH, поэтому, если у вас нету возможности работать на компьютере не на процессоре Apple Silicon, то он может является неплохой альтернативой.