无法在 Windows 10 上复制到 Windows 容器 ('docker cp')
Unable to copy to Windows container ('docker cp') on Windows 10
我在笔记本电脑上为 Windows 设置了 Docker,然后从 Linux Containers 切换到 Windows Containers 在 Docker 的设置中(提示了几次重启和 Windows 更新)。我使用以下命令提取了一个图像和 运行 一个基于它的容器:
docker pull microsoft/dotnet-framework
docker run -it microsoft/dotnet-framework cmd
在第二个终端window,我执行了命令:
docker cp app container_id:/
并收到此错误消息:
Error response from daemon: filesystem operations against a running Hyper-V container are not supported
我用谷歌搜索了这个错误,但没有任何(解释性的)结果出现,这很令人惊讶。在 Windows 10 上,有没有一种方法可以 运行 将图像作为 Windows 容器而不是 Hyper-V 容器?
最终,我会将此容器部署到 Windows Server 2016 主机,但我需要在笔记本电脑 运行ning 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 答案,因为我很难在我的 docker 运行 命令中使用 --mount
。实际的 运行 命令需要在从 type...
开始的引号 ''
内
--mount 'type=bind,source="c:/host/folder/path/with/forward/slashes",target="C:/container/folder/path/with/forward/slashes"'
我在笔记本电脑上为 Windows 设置了 Docker,然后从 Linux Containers 切换到 Windows Containers 在 Docker 的设置中(提示了几次重启和 Windows 更新)。我使用以下命令提取了一个图像和 运行 一个基于它的容器:
docker pull microsoft/dotnet-framework
docker run -it microsoft/dotnet-framework cmd
在第二个终端window,我执行了命令:
docker cp app container_id:/
并收到此错误消息:
Error response from daemon: filesystem operations against a running Hyper-V container are not supported
我用谷歌搜索了这个错误,但没有任何(解释性的)结果出现,这很令人惊讶。在 Windows 10 上,有没有一种方法可以 运行 将图像作为 Windows 容器而不是 Hyper-V 容器?
最终,我会将此容器部署到 Windows Server 2016 主机,但我需要在笔记本电脑 运行ning 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 答案,因为我很难在我的 docker 运行 命令中使用 --mount
。实际的 运行 命令需要在从 type...
''
内
--mount 'type=bind,source="c:/host/folder/path/with/forward/slashes",target="C:/container/folder/path/with/forward/slashes"'