在k8S中,如何实现Pod中容器的文件和宿主机之间相互拷贝?

您所在的位置:网站首页 k8s怎么进入容器里收集容器pod里的日志 在k8S中,如何实现Pod中容器的文件和宿主机之间相互拷贝?

在k8S中,如何实现Pod中容器的文件和宿主机之间相互拷贝?

2024-07-15 02:13| 来源: 网络整理| 查看: 265

在 Kubernetes (k8S) 中,要实现 Pod 中容器的文件与宿主机之间的相互拷贝,可以使用 kubectl cp 命令。以下是具体的命令格式和用法:

从 Pod 中复制文件到本地(宿主机): kubectl cp [NAMESPACE/]POD:CONTAINER_PATH LOCAL_FILEPATH

例如,将名为 my-pod 的 Pod 中,容器内的 /path/to/file-inside-pod 文件复制到本地当前目录下的 local-file.txt:

kubectl cp my-namespace/my-pod:/path/to/file-inside-pod ./local-file.txt

如果 Pod 在默认命名空间且不需要指定容器名称(只有一个容器),则简化为:

kubectl cp my-pod:/path/to/file-inside-pod ./local-file.txt 从本地(宿主机)复制文件到 Pod 中: kubectl cp LOCAL_FILEPATH [NAMESPACE/]POD:CONTAINER_PATH

例如,将本地的 local-file.txt 复制到 my-pod 的 Pod 中,容器内的 /path/to/pod-file 目录下:

kubectl cp ./local-file.txt my-namespace/my-pod:/path/to/pod-file/

请注意以下几点:

如果需要操作的 Pod 在非默认命名空间中,请务必加上命名空间。 当复制到 Pod 中时,目标路径必须是目录,而不能是一个已存在的文件。 kubectl cp 命令会保留文件属性,如需忽略文件权限等属性,可以添加 --no-preserve 标志。

综上所述,这些命令会在集群上下文中执行,并且能够跨越网络将数据安全地从宿主机传输到 Pod 或反之。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3