docker windows10 共享目錄掛載失敗的解決方案

起因

在執行docker腳本的時候,出現不能創建容器的錯誤。

如下所示:

Cannot create container for service xxx: b’Drive has not been shared’

上瞭Stack Overflow,查看解決方法是通過Setting->Shared Drives,接著勾選自己想要用於docker掛載鏡像的磁盤地址。

但是,無論你怎麼勾選,Rest credentials,Apply,甚至Reset,出廠化都無濟於事。每一次輸入用戶密碼後,docker 都自動把我的選項刷沒瞭。

此時你需要分析一下有幾種原因:

1、是不是本地安全策略中本地策略->安全選項->網絡訪問:本地賬戶的共享與安全模型,中安全設置沒有放開權限,這裡需要選擇經典模式。

2、是不是防火墻的問題,445端口沒有被用於映射

3、會不會是Hyper-V被禁用瞭

這邊主要是第一種情況導致的drive has not been shared,設置好之後,Setting->Shared Drives->想要掛載的盤,reset,運行完事。

補充:win10 docker 使用run -v 時,虛擬機無法顯示宿主機掛載的目錄

這幾天在學習docker,今天博主遇到的問題是這樣的:

docker run –name centos7 -it -v D:\docker-data\exchange\:/mnt centos:7

使用如上方法啟動一個容器,在虛擬機的/mnt目錄下怎麼也無法加載D:\docker-data\exchange\下面的文件。但是啟動容器的時候正常啟動,沒有報任何錯誤,折騰瞭好一陣。但是昨天我用這個方法是能正常掛載,能正常讀取到宿主機的文件的。

後來才發現,是自己昨天最後改瞭自己電腦的密碼,要重新驗證才可以正常讀取。(不知道是不是docker的一個坑,明明之前驗證過的密碼已經變動瞭,執行上面的命令也不要求重新認證,也不報錯,坑)

使用如下方法先清除驗證,打開docker的settings窗口,在如下頁面點擊reset credentials,再勾選上要掛載的目錄所在磁盤,重新輸入密碼(這裡不知道為何非要密碼,我的電腦一直都不設置密碼,為瞭用docker特設置瞭一個)

然後就可以成功掛載目錄到虛擬機瞭。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: