假设我有,my-namespace - > my-pod - > my-container,我的文件位于my-container:/opt/tomcat/logs/catalina.2017-05-02.log.我已应用以下命令复制不起作用的文件,
kubectl cp my-namepace/my-pod:/opt/tomcat/logs/catalina.2017-05-02.log -c my-container .
Run Code Online (Sandbox Code Playgroud)
注意:我的容器上有tar二进制文件
错误:
tar: Removing leading `/' from member names
error: open .: is a directory
Run Code Online (Sandbox Code Playgroud)
Sim*_*n I 35
您kubectl要做的是将文件catalina.2017-05-02.log复制到当前上下文,但当前上下文是一个目录.该错误表明您无法复制文件以具有目录的名称.
尝试为文件的复制版本命名:
kubectl cp my-namepace/my-pod:/opt/tomcat/logs/catalina.2017-05-02.log -c my-container ./catalina.2017-05-02.log.
Gre*_*ore 18
这对我有用:
$(kubectl exec <pod-name> [-c <container-name>] -it -- cat <file-path>) > <local-file>
Run Code Online (Sandbox Code Playgroud)
小智 7
源文件名和目标文件名应该相同,以下命令对我有用:
kubectl cp namespace/pod-name:abc.log .\Desktop\abc.log
Run Code Online (Sandbox Code Playgroud)
我注意到当您尝试指定命名空间(作为 pod 标识符的前缀和使用-n选项)时它失败了,单独使用 pod 标识符对我有用:
kubectl cp postgres-1111111111-11abc:/tmp/dump.csv dump
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33662 次 |
| 最近记录: |