使用 kubectl cp 命令可以在 Kubernetes Pod 和本地主机之间拷贝文件或文件夹
kubectl cp <namespace>/<pod-name>:<pod-path> <local-path> # 从 Pod 拷贝到本地
kubectl cp <local-path> <namespace>/<pod-name>:<pod-path> # 从本地拷贝到 Pod
:Pod 所在的命名空间(如果未指定,默认为 default)。
:Pod 的名称。
:Pod 内的文件或文件夹路径。
:本地文件或文件夹路径。
示例
- 从 Pod 拷贝文件到本地
kubectl cp default/my-pod:/app/data.txt ./data.txt
将 my-pod 中 /app/data.txt 文件拷贝到本地的 ./data.txt。
- 从本地拷贝文件到 Pod
kubectl cp ./config.yaml default/my-pod:/app/config.yaml
将本地的 ./config.yaml 文件拷贝到 my-pod 的 /app/config.yaml。
指定命名空间
kubectl cp my-namespace/my-pod:/app/data.txt ./data.txt
将 my-namespace 命名空间下 my-pod 中 /app/data.txt 文件拷贝到本地的 ./data.txt。
注意事项
- 文件路径:
路径必须使用绝对路径(以 / 开头)。
如果路径包含空格或特殊字符,需要用引号包裹。 - 文件夹拷贝:
拷贝文件夹时,目标路径必须是文件夹名称,而不是文件名称。