Я видел, что можно преобразовать изображение Докера в коробку бродяг.
Есть ли способ конвертировать коробку Vagrant в изображение Docker?
Я видел, что можно преобразовать изображение Докера в коробку бродяг.
Есть ли способ конвертировать коробку Vagrant в изображение Docker?
Я воспроизвел это с помощью ящиков EC2 и ящиков Virtualbox в моем проекте Github blacklabelops/centos. Я подготовил Vagrantfile с необходимой установкой, и вы можете попробовать его самостоятельно с помощью своих бродячих коробок.
Коробки EC2:
Создайте и предоставите изображение AMI с https://github.com/katzj/ami-creator - Скриптами в моем репозитории.
Затем используйте Guestfish, чтобы извлечь изображение в архив. - Скрипты в моем репозитории.
Импортируйте архив в докер. Пример в моем репозитории.
И теперь с Vagrant Virtualbox, команды могут быть воспроизведены с моим предоставленным Vagrantfile. Просто клонируйте репозиторий, запустите его и введите:
$ qemu-img convert -f vmdk -O raw MyTry-disk1.vmdk mytry.img
Коробка Vagrant VMDK может быть найдена в папке Virtualbox, обычно ~/VirtualBox\VMs/.
После создания raw вы можете применить 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
Импорт в докер:
$ cat mytry.xz | docker import - mytryimage
Просмотр контейнера
$ docker run -it mytryimage bash
Я воспроизвел это с блоками EC2 и блоками Virtualbox в моем проекте Github blacklabelops/centos. Я подготовил Vagrant файл с необходимой установкой, и вы можете попробовать его самостоятельно с вашими Vagrant-боксами.
Коробки EC2:
Создайте и предоставьте образ AMI с помощью https://github.com/katzj/ami-creator - сценариев в моем хранилище.
Затем используйте Guestfish, чтобы извлечь изображение в тарбол. - Скрипты в моем хранилище.
Импортируйте тарбол внутри Docker. - Пример в моем хранилище.