Я не могу запустить контейнеры MySQL, созданные из образов MySQL, с томами базы данных, сопоставленными с папкой моего хоста.
Не имеет значения, является ли папка хоста пустой или с существующими файлами базы данных.Я знаю, что Docker Toolbox может монтировать тома в Windows только из c: \ Users \, поэтому моя тестовая папка находится в этой папке.
Я пробовал разные (официальные и нет) образы MySQL от 5.5 до последних безрезультат.В любое время, когда расположение / var / lib / mysql в контейнере указывает на папку на моем хост-компьютере (c: \ Users \ someuser \ testfolder), у меня возникает ошибка при запуске контейнера с ошибкой InnoDB ("InnoDB: Операционная системаошибка 22 в файловой операции "или" InnoDB: File ./ib_logfile0: 'aio write' вернула ошибку ОС 122 ").
Я пытался изменить /etc/my.cnf контейнера mysql (в [раздел mysqld], используя команду «docker cp») добавляя «innodb_use_native_aio = OFF» или (иногда даже и) «innodb_use_native_aio = 0» ключи и даже пытался запустить «docker run» с «--user 1000: 50» безлибо результат.
Сразу после того, как я удаляю точку монтирования из контейнера / var / lib / mysql в папку хоста, контейнер работает нормально.
Есть много похожих вопросов, но ни у кого нет завершенного шагаПошаговое решение, как запустить контейнер MySQL с Docker Toolbox под Windows 10 (Home & Pro), чтобы обеспечить работу контейнера с существующей базой данных на томах хоста.