我正在尝试使用此命令将文件从容器复制到我的主机Windows机器
docker cp my_container:/folder c:\anotherfolder
Run Code Online (Sandbox Code Playgroud)
docker控制台返回
copying between containers is not supported
Run Code Online (Sandbox Code Playgroud)
为什么?
客户:版本:17.05.0-ce API版本:1.29 Go版本:go1.7.5 Git commit:89658be内置:5月5日星期五15:36:11 OS/Arch:windows/amd64
服务器:版本:17.05.0-ce API版本:1.29(最低版本1.12)转到版本:go1.7.5 Git commit:89658be内置:2017年5月4日星期三21:43:09 OS/Arch:linux/amd64实验:false
我认为这是因为docker认为c是容器名称.您可以使用相对路径而不是绝对路径.
所以如果你在C:/你身边就可以:
docker cp my_container:/folder anotherfolder
Run Code Online (Sandbox Code Playgroud)
另请注意,在窗口cmd和窗口中运行命令之间几乎没有区别git bash.
1.您正在使用git bash:
或者git bash在Windows 上的控制台中逃脱:
WlaDo@DESKTOP-RBBRJOD MINGW64 ~
$ docker cp eb19fc21889c:/data c:\test
copying between containers is not supported <--- we got this error which points to implementation for which I added link below
WlaDo@DESKTOP-RBBRJOD MINGW64 ~
$ docker cp eb19fc21889c:/data c:\\test
<--- no errors here -->
WlaDo@DESKTOP-RBBRJOD MINGW64 ~
$ ls c:\\test
<--- data from container -->
Run Code Online (Sandbox Code Playgroud)
你正在使用Windows cmd
从Windows开始cmd,您应该使用的方法:
C:\Users\WlaDo>docker cp eb19fc21889c:/data c:\test
<--- no errors here -->
C:\Users\WlaDo> dir c:\test
<--- data from container -->
Run Code Online (Sandbox Code Playgroud)
未实现容器之间的复制并引发错误.
有关docker cp的更多信息,请查看文档
冒号(:)用作CONTAINER及其路径之间的分隔符.您还可以使用:在本地计算机上指定SRC_PATH或DEST_PATH的路径时,例如file:name.txt.如果在本地计算机路径中使用:,则必须使用相对或绝对路径显式,例如:
`/ path/to/file:name.txt`或`./file:name.txt`
正如另一个答案所述,这是因为它认为c:是一个容器名称。您可以通过将路径括在引号中来解决此问题docker cp my_container:/folder "c:\anotherfolder"
| 归档时间: |
|
| 查看次数: |
4427 次 |
| 最近记录: |