Kubernetes 将本地文件复制到k8s容器时出错

Kubernetes 将本地文件复制到k8s容器时出错,kubernetes,kubectl,Kubernetes,Kubectl,我试图通过执行下面的命令将jar文件复制到特定pod的容器中 kubectl cp local_policy.jar podname:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/lib/security 我正在犯错误 rpc error: code = 13 desc = invalid header field value "oci runtime error: exec failed: container_

我试图通过执行下面的命令将jar文件复制到特定pod的容器中

kubectl cp local_policy.jar podname:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/lib/security

我正在犯错误

rpc error: code = 13 desc = invalid header field value "oci runtime error: exec failed: container_linux.go:247: starting container process caused \"exec: \\\"tar\\\": executable file not found in $PATH\"\n"

请提供帮助。

运行cp需要tar二进制文件。它位于kubectl cp的帮助页面中:

kubectl cp --help
Copy files and directories to and from containers.

Examples:
  # !!!Important Note!!!
  # Requires that the 'tar' binary is present in your container
  # image.  If 'tar' is not present, 'kubectl cp' will fail.

只需将
tar
binary安装到要复制文件的容器中即可。这将允许kubectl命令将文件从本地计算机复制到目标容器。 在Amazon linux上,您可以通过
yum安装它

yum install tar

您能提供更多关于tar的详细信息吗?我如何在podtar内部复制它?podtar是一种二进制文件(也是一种文件格式),用于压缩和扩展文件。它默认安装在大多数操作系统中。您使用的是哪种docker图像?它解决了问题吗?如果你需要帮助在docker图像中安装tar,请告诉我