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

时间:2018-05-18 12:47:20

标签: 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_linux.go:247: starting container process caused \"exec: \\\"tar\\\": executable file not found in $PATH\"\n"

请帮忙。

2 个答案:

答案 0 :(得分:1)

tar二进制文件是运行cp所必需的。它位于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.

答案 1 :(得分:0)

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

安装它
yum install tar