Docker On Windows10卷权限“存储引擎失败。”

时间:2017-04-04 09:41:52

标签: docker windows-10 docker-compose hyper-v

今天早上我尝试在笔记本电脑上安装Docker(windows10), (我的Docker使用hyper-v)

我尝试使用这个基本的docker-compose

version: '2'

services:
    mariadb:
      image: mariadb
      container_name: mariadb
      ports:
        - "3306:3306"
      volumes:
        - ./mysql1/:/var/lib/mysql
      environment:
        MYSQL_USER : root
        MYSQL_ROOT_PASSWORD: root

我在运行时遇到一些错误:

docker-compose up
Creating mariadb
Attaching to mariadb
mariadb    | 2017-04-04  8:29:00 140557637724096 [Note] mysqld (mysqld 10.1.22-MariaDB-1~jessie) starting as process 1 ...
mariadb    | 2017-04-04  8:29:00 140557637724096 [Note] InnoDB: Using mutexes to ref count buffer pool pages
mariadb    | 2017-04-04  8:29:00 140557637724096 [Note] InnoDB: The InnoDB memory heap is disabled
mariadb    | 2017-04-04  8:29:00 140557637724096 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
mariadb    | 2017-04-04  8:29:00 140557637724096 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
mariadb    | 2017-04-04  8:29:00 140557637724096 [Note] InnoDB: Compressed tables use zlib 1.2.8
mariadb    | 2017-04-04  8:29:00 140557637724096 [Note] InnoDB: Using Linux native AIO
mariadb    | 2017-04-04  8:29:00 140557637724096 [Note] InnoDB: Using SSE crc32 instructions
mariadb    | 2017-04-04  8:29:00 140557637724096 [Note] InnoDB: Initializing buffer pool, size = 256.0M
mariadb    | 2017-04-04  8:29:00 140557637724096 [Note] InnoDB: Completed initialization of buffer pool
mariadb    | 2017-04-04  8:29:00 140557637724096 [ERROR] InnoDB: auto-extending data file ./ibdata1 is of a different size 0 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!
mariadb    | 2017-04-04  8:29:00 140557637724096 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!
mariadb    | 2017-04-04  8:29:00 140557637724096 [ERROR] Plugin 'InnoDB' init function returned error.
mariadb    | 2017-04-04  8:29:00 140557637724096 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
mariadb    | 2017-04-04  8:29:00 140557637724096 [Note] Plugin 'FEEDBACK' is disabled.
mariadb    | 2017-04-04  8:29:00 140557637724096 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
mariadb    | 2017-04-04  8:29:00 140557637724096 [ERROR] Unknown/unsupported storage engine: InnoDB
mariadb    | 2017-04-04  8:29:00 140557637724096 [ERROR] Aborting
mariadb    |
mariadb exited with code 1

运行我的目录./mysql1/后,创建了子文件:

C:\USERS\--------\DOCUMENTS\DOCKER\MARIADB\MYSQL1
|   aria_log.00000001
|   aria_log_control
|   ibdata1
|
\---mysql

是的我知道这是关于我的卷(关于权限或访问权限......) 我不知道如何解决它。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,唯一弄清楚如何解决此问题的方法是删除MARIADB \ MYSQL1文件夹。是的,我丢失了所有开发站点中的所有数据库记录,但是对我来说,这都是测试信息,因此没有丢失任何真实数据。

删除MYSQL1文件夹后,我运行:

docker-compose build --no-cache MariaDB

然后我启动了容器:

docker-compose up -d mariadb

错误终于消失了,我能够再次使用我的MariaDB容器。希望这对以后的人有所帮助!