问题描述
使用MySQL镜像会报错,报错内容为:[ERROR] InnoDB: File ./ib_logfile101: ‘aio write’ returned OS error 122.
原因:
使用的文件系統不支持aio
解决办法:
在docker-compose.yml文件中,添加命令:command: “–innodb_use_native_aio=0”,如下所示:
mysql:
build:
context: ./mysql
args:
- MYSQL_VERSION=${MYSQL_VERSION}
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- TZ=${WORKSPACE_TIMEZONE}
volumes:
- ${DATA_PATH_HOST}/mysql:/var/lib/mysql
- ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
ports:
- "${MYSQL_PORT}:3306"
networks:
- backend
command: "--innodb_use_native_aio=0"
重新构建MySQL
docker-compose build mysql
重新启动
docker-dompose up -d nginx mysql redis