Jan 01, 1970
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
Aquí hago varias cosas:
mariadb-data
. 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í. MYSQL_ROOT_PASSWORD: qwerty
- establece la contraseña de root para el contenedor mariadb. PMA_ARBITRARY=1
- 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_HOST=mariadb
- le dijo a phpmyadmin cómo conectarse a mariadb phpmyadmin - 8000:80
- esto asigna el puerto interno 80 desde el interior del contenedor al puerto 8000 en mi máquina host depends_on
" - evita que el contenedor comience antes que otro contenedor, del cual depende 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/qwertyEsto 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
- es un volcado de base de datos existente. /data/application/init.sql
ubicación mysqld --init-file
"comando: le digo a mysql que inicie e importe init.sqlPara 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