Deaktiver AIO
Dette løste det for mig, da jeg fik AIO-fejlen, som du gjorde, da jeg startede en container fra et gæste-Debian OS fra Virtualbox og oprettede databasefilerne i en delt mappe på Windows 10.
Problemet ser ud til at være, at AIO ikke understøttes på delte mapper, eller i det mindste på nogle versioner af Windows. Det ser ud til at være sket for mig, efter jeg flyttede fra Windows 10 Pro til Home, efter at min hovedmaskine gik ned.
For detaljer:
Her er nogle muligheder:
Mulighed 1 - start beholderen sådan her:
docker run -it mysql --innodb_use_native_aio=0
Mulighed 2 - tilføj kommandoen til din docker-compose-fil:
command: --innodb_use_native_aio=0
I sammenhæng er dette den relevante del af min arbejdende docker-compose.yml:
services:
db:
image: ${MYSQL_IMAGE}
command: "--innodb_use_native_aio=0"
volumes:
- ${DB_DATA_PATH}:/var/lib/mysql
ports:
- ${MYSQL_PORT}:3306
Mulighed 3 -- tilføj en mulighed til din my.cnf-fil i din build
innodb_use_native_aio=0
Mulighed 4 - Lad være med at bevare din DB på det lokale filsystem.(Kan ødelægge din db, ikke anbefalet)
Du skal blot fjerne lydstyrken i din docker-konfiguration, der indeholder din mysql db. Selvfølgelig vil din DB blive slettet, hvis du laver en docker-compose down eller på anden måde ødelægger din container, så der er det.