kubectl cp` 命令允许你在 Kubernetes Pod 和本地机器的文件系统之间复制文件或目录,从而无需直接访问 Pod 的容器就能进行文件传输操作。
本示例演示如何使用 kubectl cp 命令将文件从本地系统复制到 Pod,反之亦然。
【代码清单】
# Copy a file from local machine to a Pod
kubectl cp /path/to/local/file <pod_name>:/path/to/destination/
# Example:
kubectl cp ./localfile.txt my-pod:/tmp/localfile.txt
# Copy a file from a Pod to the local machine
kubectl cp <pod_name>:/path/to/file /path/to/local/destination/
# Example:
kubectl cp my-pod:/tmp/remotefile.txt ./remotefile.txt
【执行结果】
如果成功,命令将无差错完成,文件将出现在 Pod 或本地计算机上的指定目的地。
kubectl cp 命令是管理 Pod 内文件的一种便捷方法,尤其适用于调试、传输配置文件或收集日志。在传输过程中,该命令基本上使用 tar 来归档文件,这意味着源路径和目标路径都必须存在,并且可以访问。请记住,复制的文件会继承源系统的权限,因此你可能需要事后调整它们。
【小知识】
如果文件复制操作失败,可能是由于文件路径不正确、权限不足或 Pod 未处于运行状态。请始终确保 Pod 处于运行状态,并正确指定路径。此外,kubectl cp 只能在本地系统和 Pod 之间复制文件,不能在 Pod 之间复制文件。