【问题标题】:How to transfer files between local machine and minikube?如何在本地机器和 minikube 之间传输文件?
【发布时间】:2018-02-15 14:22:33
【问题描述】:

我使用的是 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?

谢谢:)

【问题讨论】:

  • 我相信用于访问您的 minikube 机器的私钥位于 ~/.minikube/machines/*/id_rsa(据我所知,boot2docker 中的 docker 用户没有密码)
  • 作为后续,至少在minikube v0.21.0 中,有一个专用的minikube ssh-key 命令将输出到id_rsa 的路径(这正是我所说的,但minikube ssh-key 可能是获取该路径的更便携的方式)
  • 简单出路:minikube 默认挂载用户主文件夹。就我而言,我通过 VirtualBox 在 Windows 10 上运行 minikube,并且我的 c:\Users 文件夹映射到 minikube VM 内的 /c/Users 文件夹。

标签: docker kubernetes boot2docker minikube


【解决方案1】:

在主机上,您可以使用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 并希望从那里进行 scp(反之亦然)。
  • 我尝试了scp -i $(minikube ssh-key) ~/.docker/config.json docker@$(minikube ip):/var/lib/kubelet/config.json,但收到 Permission denied 错误?。
  • 我收到以下错误,知道它可能来自哪里吗? ssh: connect to host 192.168.49.2 port 22: Operation timed out lost connection
  • 我跑了PS C:\Users\REDACTED&gt; scp -i $(minikube ssh-key) "C:\Users\REDACTED\Desktop\REDACTED.sql" docker@$(minikube ip):/var/opt/mssql 但回来了:ssh: connect to host REDACTED port 22: Connection timed out
【解决方案2】:

我通过以下步骤处理了它:

1- 进入 minikube 的 ssh >> minikube ssh

2- 使用 sudo >> sudo passwd docker 更改 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 上 'docker' 用户的密码,通过使用访问密钥: scp -i ~/.minikube/machines/minikube/id_rsa -r /folder2copy docker@192.168.99.100:/home/docker
  • 在我拥有的 scp 版本中我没有看到 -i 选项
  • 连接被拒绝
  • @HappyMachine 对不起,你能分享一下导致连接被拒绝的命令吗?
【解决方案3】:

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

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

【讨论】:

    【解决方案4】:

    【讨论】:

    • 作为一个小笨蛋,我相信问题是关于复制到 minikube 机器本身,而不是复制到任何特定的 Pod。但是,您的命令对于将文件放入运行中的 Pod 来说是 100% 准确的
    • 我同意 @MatthewLDaniel 的观点,即 kubectl 可以将文件复制到 pod 中,但不能复制到 minikube 机器本身,因此此命令不起作用,您可以自己测试
    • 对不起,我错过了理解这个问题。通常我在 minikube 内运行 pod。我可以知道将文件复制到 minikube 的用例吗?
    • @sfgroups 知道将文件复制到 minikube 的用例吗?请检查我的答案,我写了这样做的步骤,希望它对你有帮助:)
    【解决方案5】:

    如果您已经安装了 minikube Windows 主机,那么您可以找到 docker 用户的 ssh 公钥和私钥(docker 用户在 minikube vm 中) 在

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

    在 Windows 主机上。

    文件在创建虚拟机时由 minikube.exe 复制。

    文件是 id_rsa 和 id_rsa.pub。

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

    之后,您可以将新保存的私钥与 Winscp 一起使用。

    Host name: ip-address of you minikube vm { can get it with c:\minikube ip }

    用户名:码头工人

    端口:22

    转到高级 ---> 高级 ----> SSH ----> 身份验证 ----> 私钥文件

    然后打开...

    【讨论】:

      【解决方案6】:

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

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

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

      【讨论】:

        【解决方案7】:

        将所需文件/文件夹复制到 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
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-12-05
          • 1970-01-01
          • 1970-01-01
          • 2020-01-23
          • 2018-04-23
          • 2011-01-28
          • 2015-11-19
          相关资源
          最近更新 更多