由於我是window 10 home 而不是 pro版本,只能使用Docker Toolbox,其實docker for window對windows的支持更好,還有GUI,home版本安裝Docker也是極為艱辛。好在我安裝好了,但是日常使用也是比pro版的Docker有更多的坑,在此把我踩過的坑,記錄下來,惠澤他人。
這個坑是Docker Toolbox在window 10 home 下掛載宿主機目錄到容器,願以為是要在Docker為win10 pro提供GUI里設置與c盤共享,Google了很多方法,還是在docker社區里一位老哥一針見血的指出了這其實是語法錯誤,附上圖和鏈接。
出處:Can't set Docker Volume for Container in Windows Docker CE - Docker for Windows - Docker Forums
Docker容器啟動的時候,如果要掛載宿主機的一個目錄,可以用-v參數指定。
譬如我要啟動一個centos容器,宿主機的C:/Users/T480S/work/Engine目錄掛載到容器的/Engine目錄,可通過以下方式指定:
docker run -it -v C:/Users/T480S/work/Engine:/Engine -p 8000:8000 steveny/predictionio:0.12.0 /bin/bash
這樣在容器啟動后,容器內會自動創建/Engine的目錄。通過這種方式,我們可以明確一點,即-v參數中,冒號”:”前面的目錄是宿主機目錄,后面的目錄是容器內目錄。
注意:容器目錄不可以為相對路徑,斜線為反斜線 ‘/’
但是依然還是報錯了
報錯:Error response from daemon: invalid mode: /Engine
願以為是要在Docker為win10 pro提供GUI里設置與c盤共享,Google了很多方法,還是在docker社區里一位老哥一針見血的指出了這其實是語法錯誤,參考上圖。
這是參考別人指出的錯誤之后修改的代碼
docker run -it -v /c/Users/T480S/work/Engine:/Engine -p 8000:8000 steveny/predictionio:0.12.0 /bin/bash
無報錯,正確輸出