windows10 docker desktop与本机数据拷贝

Posted 北极的大企鹅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows10 docker desktop与本机数据拷贝相关的知识,希望对你有一定的参考价值。

前景提示

  • 发现只有docker关于docker拷贝linux内部文件的命令,但是,对于window系统就没有相关的答案,因此经过研究找了一个处理的方法。

一、构建环境

序号 软件 相关文章
1 Docker https://www.cnblogs.com/liuyangfirst/p/17331085.html

二、安装测试需要的nginx

  • docker下载nginx。

  • 下载成功后。

  • 启动查看是否安装成功,配置后点击run。

  • 访问测试.

三、 docker文件拷贝到windows本地

  • 利用windows自带Linux系统的挂载关系来处理文件拷贝问题

  • 如图所示可以看到,window自带的linux系统已经自动形成了挂载关系,找到c盘符和d盘符。

  • 这样就可以进行跨系统之间的文件传输了,比如复制docker容器内的nginx文件到windows10系统下。(前提要启动docker desktop)


总结

  • 一个小小的问题,希望对您起到帮助,喜欢的请多多推荐点赞。

Docker Desktop 无法在 Windows 10 上启动 docker 守护进程

【中文标题】Docker Desktop 无法在 Windows 10 上启动 docker 守护进程【英文标题】:Docker Desktop cannot start the docker daemon on Windows 10 【发布时间】:2020-12-10 23:09:51 【问题描述】:

我目前在尝试在 Windows 上使用 Docker 时遇到问题。

在上次更新之前,我可以正常使用Docker,并且Docker守护进程在启动时自动启动。

我通过打开 Docker 桌面启动 Docker,我可以看到它正在启动,但它只是在那里挂了一会儿,然后自动停止,并显示以下错误消息:

Cancellation token triggered before we finished reading from the stream.
   à HttpOverStream.ByLineReader.<ReadLineAsync>d__0.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à HttpOverStream.Client.DialMessageHandler.<SendAsync>d__9.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Docker.Core.Logging.LoggingMessageHandler.<SendAsync>d__4.MoveNext() dans C:\workspaces\master\src\github.com\docker\pinata\win\src\Docker.Core\Logging\LoggingMessageHandler.cs:ligne 30
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à System.Net.Http.HttpClient.<FinishSendAsyncBuffered>d__58.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Docker.Core.BackendAPI.BackendAPIClient.<CreateHyperVVMAsync>d__10.MoveNext() dans C:\workspaces\master\src\github.com\docker\pinata\win\src\Docker.Core\BackendAPI\BackendAPIClient.cs:ligne 92
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Docker.Engines.LinuxHyperVEngine.<DoStartAsync>d__14.MoveNext() dans C:\workspaces\master\src\github.com\docker\pinata\win\src\Docker.Desktop\Engines\LinuxHyperVEngine.cs:ligne 59
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Docker.ApiServices.StateMachines.TaskExtensions.<WrapAsyncInCancellationException>d__0.MoveNext() dans C:\workspaces\master\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\TaskExtensions.cs:ligne 20
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() dans C:\workspaces\master\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:ligne 29
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() dans C:\workspaces\master\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:ligne 74
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Docker.ApiServices.StateMachines.EngineStateMachine.<StartAsync>d__14.MoveNext() dans C:\workspaces\master\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\EngineStateMachine.cs:ligne 69
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Docker.Engines.Engines.<RestartAsync>d__28.MoveNext() dans C:\workspaces\master\src\github.com\docker\pinata\win\src\Docker.Desktop\Engines\Engines.cs:ligne 272
Docker 版本:19.03.13-beta2,构建 ff3fbc9d55 Docker 桌面版本 2.3.0.4 (46911) Windows 版本:Windows 10 专业版 1809

我已尝试卸载和更新 Docker,但它不起作用。

Hyper-V 已启用,我还在 BIOS 中启用了虚拟化技术。

【问题讨论】:

您可以尝试使用较旧的非测试版 docker。这可以通过在 Windows 上使用巧克力来实现 我已经尝试安装一些非测试版的docker。但是,我面临同样的问题。我开始认为是公司的防病毒软件 Symantec Endpoint Protection 阻止了 docker 守护程序的启动。 @Alex Blasco 你能解决这个问题吗?现在遇到同样的事情 @DonWoodward 我不得不使用另一台全新的公司笔记本电脑才能进行全新安装,这只是一个蛮力解决方案。很抱歉无法提供更好的方法 【参考方案1】:

打开 Docker 桌面仪表板并按照以下步骤操作:

    打开Troubleshoot页面 点击Clean / Purge data按钮 检查Hyper-V 选项 点击Delete

出现此错误是因为创建了 Hyper-V 虚拟磁盘。

我使用 Docker Desktop v3.3.1,这对我有用。

【讨论】:

所以,对于“我无法打开 Docker”的问题,您的解决方案是“打开 Docker...”??【参考方案2】:

在我的例子中,位于 %USERPROFILE%\.docker\config.json 的 docker 配置文件处于只读模式。

【讨论】:

以上是关于windows10 docker desktop与本机数据拷贝的主要内容,如果未能解决你的问题,请参考以下文章

docker学习1-win10 64位专业版-安装Docker Desktop for Windows

在Windows 10中安装Docker Desktop时出错。

在 Windows 10 Home 上使用 WSL2 上的 Docker Desktop 时,如何更改 docker 映像的位置?

docker desktop win10挂载问题解决

使用 Docker-Desktop for Windows,如何配置 sysctl 参数以渗透重新启动?

Docker Desktop for Linux 来了