【问题标题】:Move boot2docker and .docker folder in other drive在其他驱动器中移动 boot2docker 和 .docker 文件夹
【发布时间】:2015-10-28 13:18:51
【问题描述】:

我是 docker 新手。我已经在D盘的windows中安装了docker,但是Boot2docker VM在C盘的用户文件夹中。

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

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

有可能吗?我该怎么办?

【问题讨论】:

  • 你用的是什么版本的docker?你在使用 docker-machine 吗?

标签: docker boot2docker docker-machine


【解决方案1】:

移动现有磁盘

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

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

  1. 停止boot2docker VM,找到disk.vmdk下的地方 设置->存储
  2. disk.vmdk复制到D盘(任意位置)
  3. 在 VirtualBox Manager 中分离 (-) disk.vmdk
  4. 从磁盘 D 附加 (+) 新的 disk.vmdk。确保 SATA 端口号相同
  5. 验证boot2docker env,如果不是,请尝试查找原因
  6. 如果迁移完成,请删除 C 盘中的 disk.vmdk 以节省空间。

它应该可以工作,因为我总是缺少磁盘空间并移动这些磁盘

对于新创建的磁盘

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

$ docker-machine --storage-path f: create -d virtualbox dev

How can I make docker-machine create a VM in a specific location查看相关问题

【讨论】:

  • 您好,我在 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} 因为硬盘 'C:\Users\Jay\VirtualBox VMs\boot2docker-vm具有 UUID {9a4ed2ae-40f7-4445-8615-a59dccb2905c} 的 \boot2docker-vm.vmdk' 已存在。结果代码:E_INVALIDARG (0x80070057) 组件:VirtualBox 接口:IVirtualBox {fafa4e17-1ee2-4905-a10e-fe7c18bf5554} 被调用者 RC:VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)
  • 感谢拉里为您的解决方案,存储路径很好。问候
  • @jaycode 我通过复制硬盘而不是在系统资源管理器中解决了 UUID 问题,而是通过 VirtualBox ->File->VirtualMediaManager ->Copy
  • 如果你想指定一个特定的文件夹而不是一个驱动器(“f:”)你可以更改docker安装文件夹中的start.sh文件;但是,请使用 d:/docker 而不是 d:\docker (/ 而不是 )。
【解决方案2】:
  1. 停止 boot2docker 虚拟机
  2. 将文件C:\Users\$USERNAME\VirtualBox VMs\boot2docker-vm\boot2docker-vm.vmdk复制到驱动器D:(暂时不要删除)。
  3. 打开 Oracle VM VirtualBox Manager 应用程序。
  4. 打开File / Virtual Media Manager
  5. 释放并删除 boot2docker-vm.vmdk。
  6. 返回主面板。右键单击 boot2docker-vm,选择设置。
  7. 选择存储。
  8. 添加硬盘,然后从新位置选择 boot2docker-vm.vmdk。

【讨论】:

  • @Larry,正确,它适用于现有 VM,但如果您尝试使用 docker-machine create 创建新 VM,新 VM 将在磁盘 C 上创建,而不是 D。使用我的解决方案,每台新机器将在磁盘 D 上。
  • mklink 看起来很有趣,我还注意到另一个链接中的 --storage-path,所以我也添加了那里。没试过风筝
  • 我似乎在 C:\ 中找不到 .Docker 文件,这可能在其他任何地方吗?
  • @jaycode,这是一个目录,而不是文件。它应该在磁盘 C 的用户主目录下,刚刚更新了我的答案
  • @OleksandrHorobets,我在那里看到 .boot2docker 目录,但没有看到 .docker。有没有其他方法可以找到这个目录?
【解决方案3】:

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

通过使用 VirtualBox 共享文件夹选项来实现。 我可以使用 C:\ 驱动器中的文件夹来存储 docker 需要的所有数据。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-07
    • 2019-12-31
    • 2011-06-26
    • 1970-01-01
    • 2021-10-15
    • 2013-12-29
    • 1970-01-01
    • 2015-03-02
    相关资源
    最近更新 更多