资讯专栏INFORMATION COLUMN

Mac 上转移 Docker 宿主虚拟机的空间占用

caohaoyu / 3340人阅读

摘要:然而一般的空间都比较拙计,一旦使用了比较多的镜像可能就会占用很多空间,这个时候我们可能就会看到中的虚拟磁盘文件可能会有几十个。然后在存储的选项中更改虚拟磁盘文件。

由于 Mac 不能原生支持 docker,所以在 Mac 上都是使用 docker-client和一个 VM 中的装有 docker 的 Linux 系统进行沟通。然而一般 Mac 的空间都比较拙计,一旦使用了比较多的镜像可能就会占用很多空间,这个时候我们可能就会看到 VM 中的虚拟磁盘文件(vmdk)可能会有几十个 G。这个时候我们可以采取一些方法把这个文件转移到其他空间较大的存储上。(如果挂移动硬盘的话缺点就是如果想用 docker 就非得挂硬盘不可,不过可以创建一个新的 VM 专门放一些比较大的镜像,然后 default VM 还是吧 vmdk 放在本机上)

准备工作

安装一下 Vagrant。后面会用到其VBoxManage命令。

如何进行

这里以转移一个叫做 jenkins 的 VM 为例

使用 docker-machine stop jenkins 关掉 VM。

到目录~/.docekr/machine/machines/jenkins/下,会发现有一个叫做 disk.vmdk 的文件,这个文件就是 VM 的虚拟磁盘文件。我们可以使用 VBoxManage clonehd disk.vmdk /移动硬盘的路径/disk.vdi --format VDI的方式克隆一个新的 vdi 虚拟磁盘文件出来(之所以使用 vdi 格式是因为VBoxManage 可以对 vdi 格式的虚拟磁盘文件修改动态分配的空间大小,使用克隆的方式产生的文件和原文件的 UUID 不同,但是内容相同)。

打开 VirtualBox,选择 VM 的设置。

然后在存储的选项中更改虚拟磁盘文件。

好了,接下来就像原来一样继续使用 docker 吧~记得使用这个 VM 的时候挂上硬盘~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26496.html

相关文章

  • 技术选型之Docker容器引擎

    摘要:是系统提供的容器化技术,简称,它结合和技术为用户提供了更易用的接口来实现容器化。公司结合和以下列出的技术实现了容器引擎,相比于,具备更加全面的资源控制能力,是一种应用级别的容器引擎。 showImg(https://segmentfault.com/img/bVbtPbG?w=749&h=192); 题外话   最近对Docker和Kubernetes进行了一番学习,前两天做了一次技术...

    monw3c 评论0 收藏0
  • docker

    摘要:因为镜像包含操作系统完整的文件系统,其体积往往是庞大的,因此在设计时,就充分利用的技术,将其设计为分层存储的架构。分层存储的特征还使得镜像的复用定制变的更为容易。容器也采用分层存储。 什么是 Docker? Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术...

    Arno 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<