尝试将文件从容器复制到本地mac时出错



我正试图将一个文件从容器复制到我的mac,我还研究了这个问题如何将文件从kubernetes Pods复制到本地系统,但对没有帮助

起初,我尝试了

kubectl cp -n company -c company-web-falcon company/company-web-falcon-bb86d79cf-6jcqq:/etc/identity/ca/security-ca.pem /etc/identity/ca/security-ca.pem

导致这个错误

tar: Removing leading `/' from member names

所以我尝试了这个

kubectl cp -n company -c company-web-falcon company/company-web-falcon-bb86d79cf-6jcqq:/etc/identity/ca/security-ca.pem /etc/identity/ca/security-ca.pem  .

导致这个错误

error: source and destination are required

我该怎么修?

您可以使用以下命令kubectl cp 复制文件

  • 将/tmp/foo_dir本地目录复制到默认命名空间中远程pod中的/tmp/bar_dir
kubectl cp /tmp/foo_dir <some-pod>:/tmp/bar_dir
  • 将/tmp/foo本地文件复制到特定容器中远程pod中的/tmp/bar
kubectl cp /tmp/foo <some-pod>:/tmp/bar -c <specific-container>
  • 将/tmp/foo本地文件复制到命名空间中远程pod中的/tmp/bar
kubectl cp /tmp/foo <some-namespace>/<some-pod>:/tmp/bar
  • 将/tmp/foo从远程pod复制到本地/tmp/bar
kubectl cp <some-namespace>/<some-pod>:/tmp/foo /tmp/bar

至于您收到的警告,您可以在github问题中获得更多详细信息有多种公认的解释。最好的是下面的

您将需要的文件移动到pod中的工作目录(当您打开bash时,该目录会自动打开(-

user@podname:/usr/src# ls data.txt
data.txt

在本例中,它是/usr/src文件夹。

然后在本地bash终端-

user@local:~$ kubectl cp podname:data.txt data.txt
user@local:~$ ls data.txt
data.txt

因此,根据注释,WORKINGDIR似乎是在docker文件或部署中设置的,在这种情况下,它将失败。因此,如果你想实现这一点,你应该把它移到工作目录中。

kubectl exec company-web-falcon-bb86d79cf-6jcqq -c company-web-falcon -- bash -c "cp /etc/identity/ca/security-ca.pem ." && kubectl cp -n company -c company-web-falcon company/company-web-falcon-bb86d79cf-6jcqq:security-ca.pem /etc/identity/ca/security-ca.pem

相关内容

  • 没有找到相关文章

最新更新