无法复制到Windows 10上的Windows容器(';docker cp';)

无法复制到Windows 10上的Windows容器(';docker cp';),docker,windows-10,hyper-v,windows-container,Docker,Windows 10,Hyper V,Windows Container,我在笔记本电脑上设置了Docker for Windows,并在Docker的设置中从Linux容器切换到Windows容器(这会引发一些重启和Windows更新)。我提取了一个图像,并使用以下命令基于它运行了一个容器: docker pull microsoft/dotnet-framework docker run -it microsoft/dotnet-framework cmd 在第二个终端窗口中,我执行了以下命令: docker cp app container_id:/ 并收到

我在笔记本电脑上设置了Docker for Windows,并在Docker的设置中从Linux容器切换到Windows容器(这会引发一些重启和Windows更新)。我提取了一个图像,并使用以下命令基于它运行了一个容器:

docker pull microsoft/dotnet-framework
docker run -it microsoft/dotnet-framework cmd
在第二个终端窗口中,我执行了以下命令:

docker cp app container_id:/
并收到此错误消息:

来自守护程序的错误响应:不支持针对正在运行的Hyper-V容器的文件系统操作

我在谷歌上搜索了这个错误,但没有(解释性的)结果,非常令人惊讶。在Windows 10上,是否有办法将映像作为Windows容器而不是Hyper-V容器运行

最终,我将把这个容器部署到Windows Server 2016主机上,但我需要在运行Windows 10 Pro的笔记本电脑上进行所有开发和测试

Docker版本

Client:
 Version:      17.06.0-ce
 API version:  1.30
 Go version:   go1.8.3
 Git commit:   02c1d87
 Built:        Fri Jun 23 21:30:30 2017
 OS/Arch:      windows/amd64

Server:
 Version:      17.06.0-ce
 API version:  1.30 (minimum version 1.24)
 Go version:   go1.8.3
 Git commit:   02c1d87
 Built:        Fri Jun 23 22:19:00 2017
 OS/Arch:      windows/amd64
 Experimental: true

根据@GregorySuvalian的评论,我知道Windows 10只允许Hyper-V运行时。因此,我的解决方法是停止容器,运行
docker cp
命令并重新启动容器。(与设置卷相比,我更喜欢这样做,因为这只是一次操作。)

编辑Vimes answer,因为我在docker run commmand中很难使用
--mount
。实际的run命令需要在引号
'
中,从
类型开始…


--mount'type=bind,source=“c:/host/folder/path/with/forward/slashes”,target=“c:/container/folder/path/with/forward/slashes”

那么这个东西在Windows 2016中有效吗?错误是描述性的。由于您在Windows 10上运行它,因此无法在除Hyper-V之外的任何其他隔离模式下运行。如果您在Windows 2016上部署它,则可以在
进程
隔离模式下运行它,并且不会出现此问题。感谢@GregorySuvalian。。。我可以通过停止容器,运行
docker cp
命令,然后重新启动容器来解决这个问题。这相对来说只是一个不便,但当我再次仔细查看错误时,我能够克服这个问题。对于希望将主机文件夹装载到容器中的人,我可以将其添加到docker运行命令中:
--mount type=bind,source=“c:/host/folder/path/with/forward/slashes”,target=“C:/container/folder/path/with/forward/slashes”