docker windows10 共享目錄掛載失敗的解決方案
起因
在執(zhí)行docker腳本的時(shí)候,出現(xiàn)不能創(chuàng)建容器的錯(cuò)誤。
如下所示:
Cannot create container for service xxx: b'Drive has not been shared'
上了Stack Overflow,查看解決方法是通過(guò)Setting->Shared Drives,接著勾選自己想要用于docker掛載鏡像的磁盤(pán)地址。
但是,無(wú)論你怎么勾選,Rest credentials,Apply,甚至Reset,出廠化都無(wú)濟(jì)于事。每一次輸入用戶密碼后,docker 都自動(dòng)把我的選項(xiàng)刷沒(méi)了。
此時(shí)你需要分析一下有幾種原因:
1、是不是本地安全策略中本地策略->安全選項(xiàng)->網(wǎng)絡(luò)訪問(wèn):本地賬戶的共享與安全模型,中安全設(shè)置沒(méi)有放開(kāi)權(quán)限,這里需要選擇經(jīng)典模式。
2、是不是防火墻的問(wèn)題,445端口沒(méi)有被用于映射
3、會(huì)不會(huì)是Hyper-V被禁用了
這邊主要是第一種情況導(dǎo)致的drive has not been shared,設(shè)置好之后,Setting->Shared Drives->想要掛載的盤(pán),reset,運(yùn)行完事。
補(bǔ)充:win10 docker 使用run -v 時(shí),虛擬機(jī)無(wú)法顯示宿主機(jī)掛載的目錄
這幾天在學(xué)習(xí)docker,今天博主遇到的問(wèn)題是這樣的:
docker run --name centos7 -it -v D:\docker-data\exchange\:/mnt centos:7
使用如上方法啟動(dòng)一個(gè)容器,在虛擬機(jī)的/mnt目錄下怎么也無(wú)法加載D:\docker-data\exchange\下面的文件。但是啟動(dòng)容器的時(shí)候正常啟動(dòng),沒(méi)有報(bào)任何錯(cuò)誤,折騰了好一陣。但是昨天我用這個(gè)方法是能正常掛載,能正常讀取到宿主機(jī)的文件的。
后來(lái)才發(fā)現(xiàn),是自己昨天最后改了自己電腦的密碼,要重新驗(yàn)證才可以正常讀取。(不知道是不是docker的一個(gè)坑,明明之前驗(yàn)證過(guò)的密碼已經(jīng)變動(dòng)了,執(zhí)行上面的命令也不要求重新認(rèn)證,也不報(bào)錯(cuò),坑)
使用如下方法先清除驗(yàn)證,打開(kāi)docker的settings窗口,在如下頁(yè)面點(diǎn)擊reset credentials,再勾選上要掛載的目錄所在磁盤(pán),重新輸入密碼(這里不知道為何非要密碼,我的電腦一直都不設(shè)置密碼,為了用docker特設(shè)置了一個(gè))
然后就可以成功掛載目錄到虛擬機(jī)了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Docker 數(shù)據(jù)卷及數(shù)據(jù)容器詳細(xì)介紹及示例
這篇文章主要介紹了Docker 數(shù)據(jù)卷及數(shù)據(jù)容器詳細(xì)介紹及示例的相關(guān)資料,Docker 很強(qiáng)大,不僅部署維護(hù)提高效率,docker和宿主之間的數(shù)據(jù)共享以及docker間的數(shù)據(jù)共享需要好好研究一下,需要的朋友可以參考下2016-11-11Docker復(fù)制現(xiàn)有容器的實(shí)現(xiàn)方法
在使用Docker進(jìn)行應(yīng)用開(kāi)發(fā)和部署時(shí),我們經(jīng)常需要基于現(xiàn)有的容器創(chuàng)建相似的環(huán)境,本文主要介紹了Docker復(fù)制現(xiàn)有容器的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03linux上安裝Docker(非常簡(jiǎn)單的安裝方法)
今天小編就為大家分享一篇關(guān)于linux上安裝Docker(非常簡(jiǎn)單的安裝方法),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04nerdctl替代docker及docker-compose的安裝使用
這篇文章主要為大家介紹了nerdctl替代docker及docker-compose的安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06如何將本地構(gòu)建好的docker鏡像發(fā)布到dockerhub
這篇文章主要介紹了如何將本地構(gòu)建好的docker鏡像發(fā)布到dockerhub,文中通過(guò)圖文教程介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05Docker部署Tomcat并開(kāi)放8082端口的實(shí)現(xiàn)步驟
本文主要介紹了Docker部署Tomcat并開(kāi)放8082端口的實(shí)現(xiàn)步驟,首先安裝docker環(huán)境,創(chuàng)建tomcat鏡像,隨后開(kāi)放端口,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10Docker從零開(kāi)始學(xué)習(xí)之Commit提交命令
docker commit命令是用于根據(jù)docker容器的改變創(chuàng)建一個(gè)新的docker鏡像,下面這篇文章主要給大家介紹了關(guān)于Docker從零開(kāi)始學(xué)習(xí)之Commit提交命令的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05