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。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- 一文教會你如何高效地搭建Docker私有倉庫
- CentOS安裝Docker的方法
- docker 環境搭建、docker 與容器常用指令大全(推薦)
- Centos7安裝Docker(2020最新親測可用,直接復制粘貼即可)
- centos搭建部署docker環境的詳細步驟