kubernetes kubectl cp比特纳米apache Helm 图表:无法复制到pod文件系统的确切位置

vd2z7a6w  于 2022-11-02  发布在  Kubernetes
关注(0)|答案(1)|浏览(135)

我正尝试在我的本地机器上部署一个react应用程序,使用docker-desktop和它的kubernetes集群,使用Bitnami apache helm chart
我在跟踪这个this tutorial
教程让你在一个公共存储库上发布映像(步骤2),我不想这样做。
这在following tutorial中进行了描述。
第二个教程的步骤2允许您创建指向PVC的pod,然后要求您使用命令将应用程序文件复制到该pod

kubectl cp /myapp/* apache-data-pod:/data/

我的问题:
1.我不能使用 * 通配符,否则我会得到一个错误。
数据库文件夹:/data/
1.此指令将复制pod中的文件,但它会在pod文件系统中的现有数据文件夹中创建另一个数据文件夹
执行此命令后,我的pod文件系统看起来像我尝试执行的x1c 0d1x
请输入您的密码:/
但这会将文件复制到pod文件系统的根目录中,与第一个数据文件夹所在的位置相同。
我需要直接将数据复制到<my_pod>:/data/中。如何实现这种行为?
此致

qoefvg9y

qoefvg9y1#

*使用下面提到的命令中的完整路径将本地文件复制到POD:

kubectl cp apache-pod:/var/www/html/index.html /tmp

*如果POD上有多个容器,请使用以下语法将文件从本地复制到POD:

kubectl cp /<path-to-your-file>/<file-name> <pod-name>:<fully-qualified-file-name> -c <container-name>

要记住的要点:

1.当引用POD上的文件路径时。它总是相对于您在映像上定义的WORKDIR。
1.与Linux不同,基目录并不总是从基目录/ workdir开始
1.如果POD上有多个容器,则需要使用-c参数指定要与复制操作一起使用的容器

**kubectl cp的快速示例:**以下是将index.html文件从POD的/var/www/html复制到本地/tmp目录的命令。

当文档根目录是映像的工作目录或默认目录时,无需提供完整路径。

kubectl cp apache-pod:index.html /tmp

为了减少混淆,您可以始终这样编写完整路径

kubectl cp apache-pod:/var/www/html/index.html /tmp

相关问题