kkp*_*eek 2 file-copying kubernetes devops kubectl
我正在尝试使用以下命令将文件从 pod 复制到本地:
kubectl cp /namespace/pod_name:/path/in/pod /path/in/local
Run Code Online (Sandbox Code Playgroud)
但是command terminates with exit code 126
不会发生和复制。
同样,在使用以下命令从本地尝试到 pod 时:
kubectl cp /path/in/local /namespace/pod_name:/path/in/pod
Run Code Online (Sandbox Code Playgroud)
它引发以下错误:
OCI runtime exec failed: exec failed: container_linux.go:367: starting container process caused: exec: "tar": executable file not found in $PATH: unknown
请帮助解决这个问题。
小智 18
将文件从本地文件系统复制到容器的另一种方法:
cat [local file path] | kubectl exec -i -n [namespace] [pod] -c [container] "--" sh -c "cat > [remote file path]"
Run Code Online (Sandbox Code Playgroud)
小智 14
将文件从 pod 复制到本地的有用命令
kubectl exec -n <namespace> <pod> -- cat <filename with path> > <filename>
Run Code Online (Sandbox Code Playgroud)
kubectl cp
实际上是一个非常小的包装器kubectl exec whatever tar c | tar x
。这样做的副作用是您需要tar
目标容器中的可执行文件,而您似乎没有。
通常kubectl cp
最好避免,它通常只适用于奇怪的调试内容。
kubectl cp
要求tar
存在于您的容器中,如帮助所述:
!!!重要的提示!!!要求容器映像中存在“tar”二进制文件。如果 'tar' 不存在,'kubectl cp' 将失败。
确保您的容器中包含tar
二进制文件$PATH
归档时间: |
|
查看次数: |
1898 次 |
最近记录: |