Import data.sql MySQL Docker Container Import data.sql MySQL Docker Container docker docker

Import data.sql MySQL Docker Container


You can import database afterwards:

docker exec -i mysql-container mysql -uuser -ppassword name_db < data.sql


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: