Mysql 5.7 fails trying to setup init script while starting in docker container. System is Mac ARM64
Docker compose looks like this:
mysql:
image: mysql:5.7
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: 'root'
ports:
- '3306:3306'
expose:
- '3306'
volumes:
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
- mysql:/var/lib/mysql:rw
As result Mysql throws error:
mysql | ERROR: Can't initialize batch_readline - may be the input source is a directory or a block device. mysql exited with code 1
The problem is that docker compose doesn't recognize '.' as current directory. Solution is:
volumes:
- $PWD/init.sql:/docker-entrypoint-initdb.d/init.sql