如何在本地机器和 minikube 之间传输文件?

How to transfer files between local machine and minikube?

我正在使用 OS Ubuntu 16.0.4 并且我在上面安装了 minikube。 我需要将一些文件复制到 minikube,那我该怎么做呢? 我尝试了下一个命令,但它要求我输入密码,但我不知道

scp /media/myuser/sourceFolder docker@192.168.99.100:/home/docker/destiationFolder

注意: minikube IP是192.168.99.100,我用的是docker 作为 minikube 的默认用户,但实际上我不知道它是否正确。

那么 minikube 的默认用户名和密码是什么?我如何将文件从本地机器复制到 minikube?

谢谢:)

你可以使用kubectl cp命令。 https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#cp

我按照以下步骤处理了它:

1- 进入 minikube 的 ssh >> minikube ssh

2- 使用 sudo 更改 docker 密码 >> sudo passwd docker 并创建新密码所以现在我知道 docker 用户密码

3- 退出 ssh 并返回 Ubuntu 终端 >> exit

4-使用scp命令复制文件到minikube >> scp /local/path/to/file/ docker@minikubeIp:/your/destination/folder/

例如scp -r /media/myuser/sourceFolder docker@192.168.99.100:/home/docker

之后它只询问 minikube docker 用户密码,更改后我现在知道了,然后将密码和文件夹从本地计算机成功复制到 minikube

在主机上,您可以使用 minikube 命令的 ssh-keyip 子命令:

scp -i $(minikube ssh-key) <local-path> docker@$(minikube ip):<remote-path>

因此问题中的命令变为:

scp -i $(minikube ssh-key) /media/myuser/sourceFolder docker@$(minikube ip):/home/docker/destiationFolder

如果你已经安装了 minikube Windows 主机那么你可以找到 docker 用户的 ssh public 和私钥(docker 用户在 minikube 虚拟机中) 在

C:\Users\{yourusername}\.minikube\machines\minikube

在 Windows 主机上。

这些文件是在 vm 创建期间由 minikube.exe 复制的。

文件是 id_rsa & id_rsa.pub。

然后在puttygen中打开id_rsa,将私钥保存为.ppk格式

之后就可以在Winscp中使用新保存的私钥了

主机名:你的minikube vm的ip地址{可以用c:\minikube ip获取}

用户名:docker

端口:22

进入高级--->高级---->SSH ---->认证---->私钥文件

然后打开...

在 minikube 1.7 中,如果使用 VirtualBox 驱动程序,则在 minikube VM 中安装了一个 /hosthome 文件夹。这是映射到主机系统 /home 的 VirtualBox 共享文件夹。

因此,实际上,如果您通过 ssh 连接到 minikube VM,您的主文件夹中的所有内容都是可读的,您可以使用普通的 cp 命令来复制内容。

您可以使用minikube cp将指定文件复制到minikube中。

minikube cp <source file path> <target node name>:<target file absolute path> [flags]

如果不知道目标节点名,可以先运行minikube node list获取节点名。更多信息可以在 official doc.

中找到

将所需 files/folders 复制到 minikube 机器的步骤。

minikube ssh
sudo su root
scp -r <user>@<ip address of linux machine>:<SOURCE FOLDER PATH> <DESTINATION FOLDER PATH>
scp -r user@192.145.34.23:/home/userhome/sourfolder /etc/destinationfolder
Enter password of linux machine