gpt4 book ai didi

mysql - Windows 10 家庭版(和专业版)上存在 mysql 容器问题的 Docker 工具箱

转载 作者:行者123 更新时间:2023-11-29 16:30:55 25 4
gpt4 key购买 nike

我无法运行由 MySQL 镜像创建的 MySQL 容器,其中数据库卷映射到我的主机文件夹。

主机文件夹是否为空或是否包含现有数据库文件并不重要。我确实知道 Docker Toolbox 只能从 c:\Users\在 Windows 上挂载卷,因此我的测试文件夹位于该文件夹下。

我尝试了从 5.5 到最新版本的不同(官方和非官方)MySQL 镜像,但没有结果。每当容器中的位置/var/lib/mysql 指向主机上的文件夹(c:\Users\someuser\testfolder)时,我都会在容器运行时遇到 InnoDB 错误(“InnoDB:操作系统”)文件操作中的错误号 22”或“InnoDB: 文件 ./ib_logfile0: 'aio write' 返回操作系统错误 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 Toolbox 运行 MySQL 容器,以使容器与主机卷上的现有数据库一起工作。

最佳答案

我花了一段时间才得到答案,但最终一切正常!对于那些刚接触 Docker 并在将 MySQL 文件夹安装到主机时遇到问题的人,这里有一个简短的指南。请注意,我为实验选择了 bitnami/mysql 图像(其他图像文件夹可能有所不同)。

  1. 为 MySQL 数据创建文件夹 c:\Users\[YourAccount]\MySQLData
  2. 为自定义 MySQL 配置文件创建一个文件夹 c:\Users\[YourAccount]\MySQLConf
  3. 创建自定义 MySQL 配置文件 c:\Users\[YourAccount]\MySQLConf\my_custom.cnf 并在其中添加两行:
[mysqld]
innodb_use_native_aio=0
4. 现在创建并运行容器,将自定义配置和数据文件夹安装到其中:
docker run -d --name mysql -e ALLOW_EMPTY_PASSWORD="yes" \
-v //c/Users/[YourAccount]/MySQLData:/bitnami/mysql/data \
-v //c/Users/[YourAccount]/MySQLConf/my_custom.cnf:/opt/bitnami/mysql/conf/my_custom.cnf:ro \ bitnami/mysql:latest

万岁!

关于mysql - Windows 10 家庭版(和专业版)上存在 mysql 容器问题的 Docker 工具箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53917760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com