【发布时间】:2018-12-24 21:19:26
【问题描述】:
我无法运行由 MySQL 映像制作的 MySQL 容器,其中数据库卷映射到我的主机文件夹。
主机文件夹是否为空或包含现有数据库文件都没有关系。我知道 Docker Toolbox 只能从 c:\Users\ 在 Windows 上挂载卷,所以我的测试文件夹就在那个文件夹下。
我尝试了从 5.5 到最新的不同(官方和非官方)MySQL 映像,但没有结果。每当容器中的位置 /var/lib/mysql 指向我的主机上的文件夹(c:\Users\someuser\testfolder)时,容器运行时出现 InnoDB 错误(“InnoDB:操作系统文件操作中的错误号 22”或“InnoDB: File ./ib_logfile0: 'aio write' returned OS error 122”)。
我试图修改 mysql 容器的 /etc/my.cnf(在 [mysqld] 部分下,使用“docker cp”命令)添加“innodb_use_native_aio=OFF”或(有时甚至)“innodb_use_native_aio=0”键,甚至正在尝试使用“--user 1000:50”运行“docker run”,但也没有结果。
在我从容器的 /var/lib/mysql 删除挂载点到我的主机文件夹后,容器正常运行。
有许多类似的问题,但没有人提供完整的分步解决方案,如何在 Windows 10(家庭版和专业版)下使用 Docker 工具箱运行 MySQL 容器,以使容器与主机卷上的现有数据库一起工作。
【问题讨论】:
标签: mysql docker innodb docker-toolbox