Import data.sql MySQL Docker Container
Mount your sql-dump under/docker-entrypoint-initdb.d/yourdump.sql
utilizing a volume mount
mysql: image: mysql:latest container_name: mysql-container ports: - 3306:3306 volumes: - ./dump.sql:/docker-entrypoint-initdb.d/dump.sql environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: name_db MYSQL_USER: user MYSQL_PASSWORD: password
This will trigger an import of the sql-dump during the start of the container, see https://hub.docker.com/_/mysql/ under "Initializing a fresh instance"
I can't seem to make this work with the latest mysql or mysql:5.7. So I use mariaDB instead. Here is my docker-compose.yaml
code.
version: '3'services: mysql: image: mariadb:10.3 container_name: mariadb volumes: - container-volume:/var/lib/mysql - ./dump.sql:/docker-entrypoint-initdb.d/dump.sql environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: name_db ports: - "3306:3306"volumes: container-volume: