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í: en la carpeta receta-03 https://github.com/ikknd/docker-study 1. Modifique el archivo docker-compose.yml Aquí hago varias cosas: crear volumen - . Aquí es donde se almacenarán todos los datos de la base de datos, incluso si se reinicia el contenedor, los datos estarán allí. mariadb-data Variable ambiental - establece la contraseña de root para el contenedor mariadb. MYSQL_ROOT_PASSWORD: qwerty Variable ambiental - agrega el campo de entrada "servidor" a la página de inicio de sesión de phpmyadmin (de esta manera puede usar este phpmyadmin con una base de datos MySQL externa, y no solo esta configuración local) PMA_ARBITRARY=1 Variable ambiental - le dijo a phpmyadmin cómo conectarse a mariadb PMA_HOST=mariadb mapas de puertos para - esto asigna el puerto interno 80 desde el interior del contenedor al puerto 8000 en mi máquina host phpmyadmin - 8000:80 " " - evita que el contenedor comience antes que otro contenedor, del cual depende depends_on 2. Vaya a /var/www/docker-study.loc/recipe-03/docker/ y ejecute: docker-compose up -d Puedo ir a: - y todavía veo la página de phpinfo myapp.loc/ - vea phpmyadmin, puedo iniciar sesión usando las credenciales de root/qwerty myapp.loc:8000 3. ¿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 sección con: mariadb command: "mysqld --init-file /data/application/init.sql" y volumes: - ./init.sql:/data/application/init.sql - es un volcado de base de datos existente. init.sql usando volúmenes, copio este archivo en el contenedor ubicación /data/application/init.sql usando " "comando: le digo a mysql que inicie e importe init.sql 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