2015-01-07 6 views
2

У меня есть приложение x86 для Linux в контейнере докеров, и я хочу запустить его под Windows. Я не хочу заставить пользователей устанавливать Virtual Box. В идеале может использоваться qemu или аналогичный инструмент виртуализации, поскольку он очень крошечный и не требует установки вообще.Запустите контейнер докера в Windows

Мой подход заключался в использовании qemu for Windows и boot2docker, поэтому я могу загрузить минимальный Linux с установленным докере, а не запускать в нем контейнер докеров.

Это команда, я использую, чтобы запустить его:

qemu-system-x86_64.exe -m 256 -cdrom boot2docker.iso 

Ботинки идут хорошо, но у меня есть несколько проблем:

  • при каждой загрузке изображение идет корыто всех настроек шаги (генерация ключей для ssh, установка имени хоста и т. д.), которые могут быть пропущены во второй раз, когда изображение выполняется; кажется, что изменения изображения не сохраняются. Я хочу создать образ, который уже настроен и нуждается только в загрузке;
  • Чтобы добавить мое приложение в изображение, я должен восстановить изображение boot2docker.iso с помощью шагов, описанных в How to build boot2docker.iso locally.

Итак, вопрос в том, как я могу использовать базовое изображение boot2docker.iso и добавить некоторые сохраняющиеся данные (например, конфигурации и мое приложение)? Возможно, раздел чтения/записи установлен из другого файла?

+1

Как и идея, я проверил MobaliveCD http://www.mobatek.net/labs_mobalivecd.html, похоже, не поддерживает 64-битную (какой boot2docker нужен), но функция подходит для вас. –

+0

@ LarryCai кажется очень многообещающим. Если вы напишете ответ, я приму его, если он сработает. Единственное, чего не хватает, - это легкое распределение с докерером внутри. Может быть, сам boot2docker? – mbrt

+0

мы можем сотрудничать, чтобы иметь «жировик» или аналогичный проект на основе MobaliveCD, если лицензия в порядке –

ответ

0

Ваша команда

QEMU-системы x86_64.exe -m 256 -cdrom boot2docker.iso

запускает ISO, что вы хотите резерв на дисковом место для этого изо в .img

запустить это изо и установить его в этом .img

перезагрузка

в Linux вы бы начать делать

qemu-img create -f qcow2 /home/myuser/my_image.img 6G

Существует докер-консоли для Windows, это, кажется, что вы ищете, см http://azure.microsoft.com/blog/2014/11/18/docker-cli-for-windows-clients/

+0

Это создаст пустой файл изображения. Как я могу установить boot2docker на него? Если я запустил qemu на нем ('qemu-system-x86_64.exe -m 256 -cdrom boot2docker.iso -hda my_image.img -boot d'), он продолжает загружаться из iso и не изменять img. Более того, как я могу поместить свои файлы в этот img? – mbrt

+0

В Linux после создания .img вы запускаете что-то вроде 'kvm -m 256 -cdrom my.iso -boot d image.img' и устанавливаете с помощью всего диска (6 Giga или размер при создании. img), выполните аналогичную команду с qemu, затем перезагрузите 'kvm -m 256 image.img' – user2915097

+0

Вам нужно сделать полную установку ОС вашего .iso в вашем .img (конечно, вы будете делать это только один раз) – user2915097

0

Вы можете использовать boot2docker http://boot2docker.io/

При установке boot2docker, он будет установлен VirtualBox за кулисами.

Вам нужно только запустить ярлык boot2docker, а управление виртуальными окнами и vms будут скрыты.

+0

Вопрос связан с тем, как это сделать, не используя виртуальную коробку. – mbrt

+0

Хорошо, удалив этот ответ –

0

нравится идея.

Возможно, вы можете проверить MobaliveCD, он имеет приятный легкий графический интерфейс и встроен в систему qemu. Я попробовал его для tinycore live cd iso (база boot2docker), который работает вполне нормально.

Хотя кажется, что он не поддерживает 64-битную (какой boot2docker нужен), но функция подходит для вас.

Смежные вопросы