win10下docker挂载文件夹报错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win10下docker挂载文件夹报错相关的知识,希望对你有一定的参考价值。
参考技术A 执行命令docker run -d -v D:\wnmp\mysql57-log:/var/log/mysql/ -v D:\wnmp\mysql57-conf:/etc/mysql/ -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql mysql:5.6
报错
docker: Error response from daemon: status code not OK but 500: � ����� � FDocker.Core, Version=2.5.0.49550, Culture=neutral, PublicKeyToken=null�� ocker.Core.DockerException ClassNameMessage�Data�InnerExceptionHelpWatsonBuckets������� � ��System.Collections.IDictionary�System.Excepti�� �� ocker.Core.DockerException�� �Filesharing has been cancelled
�� �� 在 Docker.ApiServices.Mounting.FileSharing.<DoShareAsync>d__8.MoveNext() 位置 C:\workspaces\stable-2.5.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\Mounting\FileSharing.cs:行号 0
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 Docker.ApiServices.Mounting.FileSharing.<ShareAsync>d__6.MoveNext() 位置 C:\workspaces\stable-2.5.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\Mounting\FileSharing.cs:行号 55
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 Docker.HttpApi.Controllers.FilesharingController.<ShareDirectory>d__2.MoveNext() 位置 C:\workspaces\stable-2.5.x\src\github.com\docker\pinata\win\src\Docker.HttpApi\Controllers\FilesharingController.cs:行号 21
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Threading.Tasks.TaskHelpersExtensions.<CastToObject>d__1`1.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext()
�� ��8
MoveNext
Docker.ApiServices, Version=2.5.0.49550, Culture=neutral, PublicKeyToken=null
Docker.ApiServices.Mounting.FileSharing+<DoShareAsync>d__8
Void MoveNext() ���� �Docker.ApiServices.
See 'docker run --help'.
打开设置,添加挂载目录
点击保存
win10通过Docker Toolbox安装docker及配置文件共享挂载本地磁盘目录
1、下载软件软件下载地址: http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
选择合适的版本,本次实验以下图为例:
下载完成
双击运行程序
安装完成桌面会出现以下三个图标:
双击“Docker Quickstart Terminal”弹出页面会显示正在下载boot2docker.iso镜像文件
由于资源在github上,下载会非常非常慢,这里已经下载下来通过云盘共享一下(永久有效):
链接:https://pan.baidu.com/s/13-oiDewOhxg63jkNepIXhA
提取码:d8u1
复制这段内容后打开百度网盘手机App,操作更方便哦
下载完成后将此文件挪到下载页面提示的地方:
再次双击“Docker Quickstart Terminal”页面就会弹出docker的小鲸鱼图标了
软件安装完成。此时已经可以下载镜像生成容器了
踩过的坑:
docker-machine Host does not exist: "default" 并且执行docker-machine env default也会报错
原因:就是没有boot2docker.iso文件
解决:下载并将iso文件移动到正确的位置
2、配置共享文件挂载本地磁盘目录
双击“Oracle VM VirtualBox”程序
第一行填写自己想共享到容器里的本机目录路径,第二个文件夹名称会自动生产,也可自定义
填写完成后重启当前服务器,重启需要一点时间:
重启完成后双击“Docker Quickstart Terminal”进入linux命令行页面
配置完成退出default服务器,回到linux命令行界面
踩过的坑:
问题:第一次挂载本地目录的时候直接挂载到了default的/mnt目录下,退出时导致default容器故障,退出状态505(具体报错内容不记得了),docker-machine ssh default也连接不进去,docker run也生成不了容器
解决:在共享文件夹目录设置那将自己添加的目录先删掉,然后重启default服务器
以上是关于win10下docker挂载文件夹报错的主要内容,如果未能解决你的问题,请参考以下文章
win10通过Docker Toolbox安装docker及配置文件共享挂载本地磁盘目录
按照官方文档 在win10下安装 docker for windows easyswoole镜像 挂载目录