Haré que MariaDB y Phpmyadmin se ejecuten en un contenedor docker. Reutilizaré la configuración de carpetas y todos los archivos de la receta anterior: 02.
Los archivos fuente se pueden encontrar aquí:
https://github.com/ikknd/docker-study en la carpeta receta-03
1. Modifique el archivo docker-compose.yml
Aquí hago varias cosas:
- crear volumen -
mariadb-data
- Variable ambiental
MYSQL_ROOT_PASSWORD: qwerty
- Variable ambiental
PMA_ARBITRARY=1
- Variable ambiental
PMA_HOST=mariadb
- mapas de puertos para
phpmyadmin - 8000:80
- "
depends_on
2. Vaya a /var/www/docker-study.loc/recipe-03/docker/ y ejecute:
docker-compose up -d
Puedo ir a:
myapp.loc/
- y todavía veo la página de phpinfo myapp.loc:8000
- vea phpmyadmin, puedo iniciar sesión usando las credenciales de root/qwerty3. ¿Qué pasa si necesito que la base de datos esté en funcionamiento con una base de datos inicial dentro y no vacía?
Esto se puede lograr modificando
mariadb
sección con: command: "mysqld --init-file /data/application/init.sql"
y
volumes: - ./init.sql:/data/application/init.sql
init.sql
- usando volúmenes, copio este archivo en el contenedor
/data/application/init.sql
- usando "
mysqld --init-file
4. Después de ejecutar la base de datos, ¿cómo exportar/importar la base de datos?
Para ver la lista de contenedores y conocer la identificación del contenedor o el nombre del contenedor mariadb:
docker container ls
Importar:
docker exec -i docker_mariadb_1 mysql -uroot -pqwerty DB_NAME < your_local_db_dump.sql
Exportar:
docker exec -i docker_mariadb_1 mysqldump -uroot -pqwerty DB_NAME > your_local_db_dump.sql