Mysql InnoDB初始化警告

Mysql InnoDB初始化警告,mysql,docker,alpine,Mysql,Docker,Alpine,我在Windows10上使用docker构建完整的web堆栈(php、nginx、mysql 8)。使用docker编写 docker compose.yml 在这里,我使用服务构建web应用程序。但我只向您展示mysql服务 version: '3.8' services: db: build: services/mysql container_name: db image: projects/laradock_mysql:latest

我在Windows10上使用docker构建完整的web堆栈(php、nginx、mysql 8)。使用docker编写

docker compose.yml
在这里,我使用服务构建web应用程序。但我只向您展示mysql服务

version: '3.8'

services:
    db:
        build: services/mysql
        container_name: db
        image: projects/laradock_mysql:latest
        env_file: ../.env
        restart: on-failure
        volumes:
            - ./storage/data:/var/lib/mysql
        ports:
            - 3306:3306
        networks:
            - sites

networks:
    sites:
        driver: bridge
        ipam:
            driver: default
            config:
                - subnet: 10.100.36.0/24
MySQL DockerFile

FROM mysql:8

COPY conf/my.cnf /etc/mysql/conf.d

EXPOSE 3306
[mysqld]
innodb_flush_method=O_DSYNC
innodb_flush_log_at_trx_commit=0
default-authentication-plugin=mysql_native_password
MySQL配置文件

FROM mysql:8

COPY conf/my.cnf /etc/mysql/conf.d

EXPOSE 3306
[mysqld]
innodb_flush_method=O_DSYNC
innodb_flush_log_at_trx_commit=0
default-authentication-plugin=mysql_native_password
docker撰写时输出日志

2020-06-18T04:40:52.552867Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.

2020-06-18T04:40:55.549460Z 1 [Warning] [MY-012579] [InnoDB] fallocate(15, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22

2020-06-18T04:40:55.568116Z 1 [Warning] [MY-012579] [InnoDB] fallocate(16, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22

2020-06-18T04:40:55.582720Z 1 [Warning] [MY-012579] [InnoDB] fallocate(17, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22

2020-06-18T04:40:55.600203Z 1 [Warning] [MY-012579] [InnoDB] fallocate(18, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22

2020-06-18T04:40:55.614565Z 1 [Warning] [MY-012579] [InnoDB] fallocate(19, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22

2020-06-18T04:40:55.630446Z 1 [Warning] [MY-012579] [InnoDB] fallocate(20, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22

2020-06-18T04:40:55.649691Z 1 [Warning] [MY-012579] [InnoDB] fallocate(21, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22

2020-06-18T04:40:55.666272Z 1 [Warning] [MY-012579] [InnoDB] fallocate(22, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22

2020-06-18T04:40:55.682022Z 1 [Warning] [MY-012579] [InnoDB] fallocate(23, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22

2020-06-18T04:40:55.698763Z 1 [Warning] [MY-012579] [InnoDB] fallocate(24, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22

2020-06-18T04:40:56.379410Z 1 [Warning] [MY-012579] [InnoDB] fallocate(25, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22

2020-06-18T04:40:56.384741Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.

谢谢你的帮助

我遇到了同样的问题,并在Docker preferences>General中解决了它,并取消选中“Use gRPC FUSE…”选项


perror 22
->
操作系统错误代码22:无效参数
。毫无疑问,Windows不支持fallocate。查找禁用此/使用替代变量的innodb系统变量。@9inelemons您是否已解决此问题?为什么?这是什么意思?@ArnoldRoa它将允许docker使用用户空间(FUSE)服务器中的文件系统。例如,如果您使用Windows并正在读取与Linux容器共享的文件,则在读取文件系统时可能会出现问题,如果取消选中此选项,将更正此问题。您可以通过阅读以下链接了解更多信息:--