こんにちは
Docker for windowsでmysqlを使用する場合、権限の問題で"/var/lib/mysql"のマッピングができないので、Docker Volumeを使用する必要があるみたいです。
(Volumeを消すとmysqlのデータが消えるのでご注意ください。)
以下の設定で動作することを確認しました。
volumes付近を2箇所変更してます。
volumes:
db-volume: # for windows
# sync-volume:
# external: true
services:
bc-db:
container_name: bc-db
image: mysql/mysql-server:5.7
volumes:
# - ./volumes/mysql:/var/lib/mysql
- db-volume:/var/lib/mysql # for windows
- ./mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: "root"
MYSQL_USER: "root"
MYSQL_PASSWORD: "root"
MYSQL_DATABASE: "basercms"
command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci