网站首页 > 服务器 正文
起因
在执行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特设置了一个)
然后就可以成功挂载目录到虚拟机了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持开源网。如有错误或未考虑完全的地方,望不吝赐教。
猜你喜欢
- 2021-08-03 docker 命令报异常permission denied的解决方案
- 2021-08-03 docker volumes 文件映射方式
- 2021-08-03 docker 查看容器的挂载目录操作
- 2021-08-03 docker run和start的区别说明
- 2021-08-03 docker logs-查看docker容器日志的实现
- 2021-07-21 docker安装redis设置密码并连接的操作
- 2021-07-21 docker修改未启动容器的配置信息操作
- 2021-07-21 Docker环境搭建的简单方法
- 2021-07-21 docker安装openjdk并运行jar包的操作方法
- 2021-07-21 docker时区问题和迁移数据问题
你 发表评论:
欢迎- 开源分类
- 最近发表
-
- Unity3D研究院之通过ipa或apk获取游戏所使用的unity和Xcode版本
- Unity3D研究院编辑器之脚本生成Preset Libraries(十四)
- 手把手教你Charles抓包工具使用
- python开发的程序内存越来越大_遇到个python进程占用内存太多的问题 | 数据,更懂人心...
- Selenium Python3 请求头配置
- Unity3D研究院之系统内置系统图标大整理
- Unity3D研究院编辑器之5.3JSON的序列化
- Unity3D研究院编辑器之脚本打开SpritePacker窗口(十七)
- #你好Unity3D#Hierarchy视图监听gameObject点击事件
- Unity3D研究院编辑器之自定义默认资源的Inspector面板(十)
- 开源网标签
本文暂时没有评论,来添加一个吧(●'◡'●)