Docker cp无法复制容器内已存在文件的问题排查与解决
解决docker cp无法复制minikube内文件的问题
方法一:使用minikube自带的cp命令
minikube官方提供了适配自身环境的文件复制工具,直接执行即可:
minikube cp minikube:/tmp/nginx.tar /tmp/nginx.tar
方法二:确认容器标识后重新执行docker cp
- 先获取minikube对应的docker容器正确ID或名称:
docker ps -a | grep minikube
- 替换成实际的容器标识执行cp命令,比如容器ID是
f9a8b7c6:
docker cp f9a8b7c6:/tmp/nginx.tar /tmp/nginx.tar
方法三:通过标准输出流传输文件(备选方案)
如果前两种方法失效,可通过容器内的cat命令将文件内容输出到宿主机,直接写入本地文件:
docker exec -i minikube cat /tmp/nginx.tar > /tmp/nginx.tar
常见原因
minikube本质是封装了Kubernetes节点的环境,即便以docker容器形式运行,内部路径的映射逻辑和普通容器有差异,直接使用docker cp可能触发路径识别异常,而minikube自带的cp工具会自动处理这些内部逻辑。
内容的提问来源于stack exchange,提问作者chikadance
相关产品推荐
相关产品推荐

