今天使用Docker Toolbox的过程中遇到无法启动Mysql Service的情况,通过查看Logs得到错误提示Operating system error number 22 in a file operation,通过搜索发现可能与data目录使用的是windows系统的共享文件夹有关,我尝试了两个方法:
- 将data目录修改为虚拟机自带目录(如/mnt/sda1/var/lib/data)
- 在docker-compose文件中mysql service的command选项中添加–innodb-use-native-aio=0这一配置
mysql:
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password --innodb-use-native-aio=0
ports:
- "3306:3306"
volumes:
- /projects/data/assistant:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: 1111
MYSQL_DATABASE: assistant
mysql service均可以正常启动。
其他参考:
https://github.com/docker-library/mysql/issues/371