在其他驱动器中移动boot2docker和.docker文件夹

在其他驱动器中移动boot2docker和.docker文件夹,docker,boot2docker,docker-machine,Docker,Boot2docker,Docker Machine,我是新来的码头工人。我在windows中的D驱动器中安装了docker,但Boot2docker VM位于C驱动器的用户文件夹中 我在C中没有足够的空间,当我从docker hub中提取软件时,boot2docker正在增长 所以我想移动D驱动器中的boot2docker或.docker文件夹 可能吗?我该怎么做?移动现有磁盘 VM机器的最大尺寸是.vmdk或.vdi,因此您只需将磁盘移动到驱动器D,而不是移动整个.docker目录 您可以在Oracle VirtualBox Manager G

我是新来的码头工人。我在windows中的D驱动器中安装了docker,但Boot2docker VM位于C驱动器的用户文件夹中

我在C中没有足够的空间,当我从docker hub中提取软件时,boot2docker正在增长

所以我想移动D驱动器中的boot2docker或.docker文件夹


可能吗?我该怎么做?

移动现有磁盘

VM机器的最大尺寸是
.vmdk
.vdi
,因此您只需将磁盘移动到驱动器D,而不是移动整个
.docker
目录

您可以在Oracle VirtualBox Manager GUI中以简单的方式执行的操作:

  • 停止
    boot2docker
    VM,并在下面找到
    disk.vmdk
    设置->存储
  • 磁盘.vmdk
    复制到磁盘D(任意位置)
  • 在VirtualBox Manager中分离(-)磁盘.vmdk
  • 从磁盘D连接(+)新的
    磁盘.vmdk
    。确保SATA端口号相同
  • 验证boot2docker环境,如果没有,请尝试查找原因
  • 删除磁盘C中的
    磁盘.vmdk
    ,以在迁移完成时节省空间
  • 它将工作,因为我总是缺乏磁盘空间和移动这些磁盘

    用于新创建的磁盘

    正常情况下,它将创建为您使用的默认用户目录,但在创建过程中,可以使用标志
    --storage path
    重定向到新位置

    $ docker-machine --storage-path f: create -d virtualbox dev
    
    请参阅中的相关问题

  • 停止boot2docker虚拟机
  • 将文件
    C:\Users\$USERNAME\VirtualBox VMs\boot2docker vm\boot2docker vm.vmdk
    复制到驱动器
    D:
    (暂时不要删除它)
  • 打开Oracle VM VirtualBox Manager应用程序
  • 打开
    文件/虚拟媒体管理器
  • 释放并删除boot2docker-vm.vmdk
  • 回到主面板。右键单击boot2docker vm,选择设置
  • 选择存储
  • 添加硬盘,然后从新位置选择boot2docker-vm.vmdk

  • 您可以将图像存储在VirtualBox图像之外。您不必移动磁盘。 我喜欢这个想法,因为VirtualBox提供的磁盘是有限的,但是如果您在主机中托管,那么您将拥有与主机相同的存储空间

    通过使用VirtualBox共享文件夹选项来实现。 我能够使用
    C:\
    drive中的一个文件夹来存储docker需要的所有数据

    为此,您必须将
    /var/lib/docker
    装载到主机中的本地文件夹中。 设置“自动安装”,但不要设置“只读”


    您使用的是什么版本的docker?您使用的是docker machine吗?@Larry,没错,它适用于现有VM,但如果您尝试使用
    docker machine create
    创建新VM,新VM将在磁盘C上创建,而不是在磁盘D上。使用我的解决方案,每台新机器都将在磁盘D上。mklink看起来很有趣,我还注意到另一个链接中的--存储路径,因此我也在那里添加了它。未尝试KiteMatic在C:\中似乎找不到.Docker文件,这可能在其他任何地方?@jaycode,这是一个目录,不是文件。它应该在C盘的用户主目录下,刚刚更新了我的answer@OleksandrHorobets,我看到了.boot2docker目录,但没有.docker。也许还有其他方法可以找到这个目录吗?您好,我在C:\Users\USERNAME\VirtualBox VMs\boot2docker vm目录中找到了您提到的文件。是否也复制.vbox文件?无法打开硬盘文件D:\Docker\boot2docker vm\boot2docker-vm.vmdk。无法注册硬盘“D:\Docker\boot2docker vm\boot2docker vm.vmdk”{9a4ed2ae-40f7-4445-8615-a59dccb2905c},因为已经存在UUID为{9a4ed2ae-40f7-4445-8615-a59dccb2905c}的硬盘“C:\Users\Jay\VirtualBox VMs\boot2docker vm\boot2docker vm\boot2docker vm\boot2docker vm.vmdk”。结果代码:E_INVALIDARG(0x80070057)组件:VirtualBox接口:IVirtualBox{fafa4e17-1ee2-4905-a10e-fe7c18bf5554}被调用方RC:VBOX_E_OBJECT_NOT_FOUND(0x80BB0001)Thx对于您的解决方案,存储路径很好。Greetings@jaycode我通过复制硬盘解决了UUID问题,它不是在系统浏览器中,而是通过VirtualBox->File->VirtualMedia Manager->Copy。如果你想指定一个特定的文件夹而不是驱动器(“f:”),你可以更改docker安装文件夹中的start.sh文件;但是,请使用d:/docker而不是d:\docker(/而不是)。