簡體   English   中英

Windows 10 Home(和Pro)上帶有mysql容器問題的Docker工具箱

[英]Docker toolbox with mysql container problem on Windows 10 Home (and Pro)

我無法運行將數據庫卷映射到主機文件夾的MySQL映像制成的MySQL容器。

主機文件夾為空或現有數據庫文件都沒有關系。 我確實知道Docker Toolbox只能從c:\\ Users \\在Windows上安裝卷,因此我的測試文件夾在該文件夾下。

我正在嘗試從5.5到最新版本使用不同的(官方的和非官方的)MySQL映像,但沒有結果。 每當容器中的/ var / lib / mysql位置指向我的主機上的文件夾(c:\\ Users \\ someuser \\ testfolder)時,我在運行InnoDB錯誤的容器中遇到錯誤(“ InnoDB:操作系統文件操作中的錯誤號22”或“ InnoDB:文件./ib_logfile0:“aio寫”返回OS錯誤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容器,以使容器與主機卷上的現有數據庫一起工作。

我花了一段時間才得到答案,但最終一切正常! 對於那些不熟悉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 

萬歲!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM