Kubernetes 在容器内外进行文件交换

使用 kubectl cp 命令
假设你的 Pod 名称是 my-pod,包含两个容器:main-container 和 sidecar-container。你想将本地文件 file.txt 复制到 sidecar-container 的 /app 目录中。

# 从本地复制到容器
kubectl cp ./file.txt namespace/my-pod:/app/file.txt -c sidecar-container
# 从容器复制到本地
kubectl cp namespace/my-pod:/app/file.txt ./file.txt -c sidecar-container
# 将本地的 /tmp/foo 文件复制到命名空间 <some-namespace> 中某个远程 Pod 的 /tmp/bar 路径
tar cf - /tmp/foo | kubectl exec -i -n <some-namespace> <some-pod> -- tar xf - -C /tmp/bar

# 将远程 Pod 中的 /tmp/foo 文件复制到本地的 /tmp/bar 路径
kubectl exec -n <some-namespace> <some-pod> -- tar cf - /tmp/foo | tar xf - -C /tmp/bar
posted @ 2025-04-29 13:40  凨筝  阅读(46)  评论(0)    收藏  举报