I will get MariaDB and Phpmyadmin running in a docker container. I will reuse folder setup and all files from previous recipe - 02.
Source files can be found here: 
https://github.com/ikknd/docker-study in folder recipe-03
1. Modify docker-compose.yml file
Here I do several things:
- create volume - 
 . This is where all db data will be stored, even if container is restarted, data will be there.mariadb-data
- environment variable 
 - sets root password for mariadb container.MYSQL_ROOT_PASSWORD: qwerty
- environment variable 
 - adds "server" input field to phpmyadmin login page (this way you can use this phpmyadmin with an external MySQL DB, and not just this local setup)PMA_ARBITRARY=1
- environment variable 
 - told phpmyadmin how to connect to mariadbPMA_HOST=mariadb
- map ports for 
 - this maps inner port 80 from inside the container, to port 8000 on my host machinephpmyadmin - 8000:80
- "
 " - prevents container to start before other container, on which it dependsdepends_on
2. Go to /var/www/docker-study.loc/recipe-03/docker/ and execute:
docker-compose up -dI can go to: 
myapp.loc/myapp.loc:80003. What if I need database to be up and running with some initial DB inside, and not empty?
This can be achieved by modifying 
mariadbcommand: "mysqld --init-file /data/application/init.sql"and
volumes:
    - ./init.sql:/data/application/init.sql
 - is an existing DB dump.- init.sql
- using volumes I copy this file to container's 
 location/data/application/init.sql
- using "
 " command - I tell mysql to start and import init.sqlmysqld --init-file
4. After I have DB running, how to export/import DB?
To see list of containers and learn container id or name of mariadb container:
docker container lsTo import:
docker exec -i docker_mariadb_1 mysql -uroot -pqwerty DB_NAME < your_local_db_dump.sqlTo export:
docker exec -i docker_mariadb_1 mysqldump -uroot -pqwerty DB_NAME > your_local_db_dump.sql