我看到可以将Docker映像转换为Vagrant框。
有没有一种方法可以将Vagrant框转换为Docker映像?
我在Github项目blacklabelops / centos中使用EC2框和Virtualbox框重播了此内容。我已经准备了具有必要安装的Vagrantfile,您可以在Vagrant盒中尝试一下。
EC2盒:
使用https://github.com/katzj/ami-creator-Skripts在我的存储库中创建和配置AMI映像。
然后使用Guestfish以便将图像提取到tarball中。-我的存储库中的Skripts。
将tarball导入Docker。-我的存储库中的示例。
现在,借助Vagrant Virtualbox,可以使用我提供的Vagrantfile重放命令。只需克隆存储库,旋转它并输入:
$ qemu-img convert -f vmdk -O raw MyTry-disk1.vmdk mytry.img
可以在Virtualbox文件夹(通常为〜/ VirtualBox \ VMs /)中找到Vagrant框的VMDK。
创建原始文件后,您可以应用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