如何将Vagrant框转换为Docker镜像
我看到可以将一个Docker镜像转换成一个Vagrant框。
有没有办法将Vagrant框转换成Docker镜像?
我在Github项目blacklabelops / centos中用EC2盒子和Virtualbox盒子重播了这个。 我准备了必要的安装Vagrantfile,你可以尝试一下你自己的Vagrant箱子。
EC2盒子:
-
使用https://github.com/katzj/ami-creator创build和configuration一个AMI映像 – 在我的仓库中进行扫描。
-
之后使用Guestfish为了提取图像成tarball。 – 在我的仓库中Sk Sk。
-
在Docker中导入tarball。 – 我的存储库中的示例。
现在使用Vagrant Virtualbox,可以使用我提供的Vagrantfile来重播命令。 只需克隆存储库,将其旋转并input:
$ qemu-img convert -f vmdk -O raw MyTry-disk1.vmdk mytry.img
Vagrant框的VMDK可以在Virtualbox文件夹中find,通常是〜/ VirtualBox \ VMs /。
原料生成后,您可以申请Guestfish。
$ guestfish -a mytry.img --ro $ ><fs> run
注意:tty
$ ><fs> list-filesystems /dev/sda1: ext4 /dev/VolGroup/lv_root: ext4 /dev/VolGroup/lv_swap: swap $ ><fs> mount /dev/VolGroup/lv_root / $ ><fs> tar-out / - | xz --best >> mytry.xz $ ><fs> exit
注意:退出tty
导入到docker中:
$ cat mytry.xz | docker import - mytryimage
看看容器里面
$ docker run -it mytryimage bash