Oggi vi proponiamo una guida veloce che vi permetterà di avviare MySQL con Docker inizializzando anche il database.
Immaginiamo che lo script di inizializzazione del database MySQL sia una cosa tipo questa:
CREATE DATABASE mydb;
GRANT ALL PRIVILEGES ON magento.* TO 'myuser'@'%' IDENTIFIED BY 'mysql';
GRANT ALL PRIVILEGES ON magento.* TO 'myuser'@'localhost' IDENTIFIED BY 'mysql';
USE magento
CREATE TABLE CONTACTS (
[ ... ]
);
INSERT INTO CONTACTS VALUES ...
[ ... ]
Copiamo il contenuto nel file init.sql
Sel nostro PC creiamo due folder con questa struttura simile a questa
/Users/nodex/Docker/volumes/Magento/mysql/data /Users/nodex/Docker/volumes/Magento/mysql/init
Copiamo il nostro file nella directory init.
A questo punto potremo inizializzare il database all'avvio utilizzando questo comando:
docker run --name mysql1 \ -e MYSQL_ROOT_PASSWORD=password123 \ -e MYSQL_DATABASE=magento \ -v /Users/nodex/Docker/volumes/Magento/mysql/data:/var/lib/mysql -v /Users/nodex/Docker/volumes/Magento/mysql/init:/docker-entrypoint-initdb.d/:ro mysql:5.7