在Windows中运行docker容器

在Windows中运行docker容器,windows,qemu,boot2docker,Windows,Qemu,Boot2docker,我在docker容器中有一个Linux x86应用程序,我想在Windows下运行它。我不想强制用户安装Virtual Box。理想情况下,可以使用一个或类似的虚拟化工具,因为它非常小,根本不需要安装 我的方法是使用和 ,因此我可以在安装了docker的情况下启动一个最小的Linux,然后在其中运行docker容器 这是我用来运行它的命令: qemu-system-x86_64.exe -m 256 -cdrom boot2docker.iso 开机正常,但我有几个问题: 每次启动时,映像都

我在docker容器中有一个Linux x86应用程序,我想在Windows下运行它。我不想强制用户安装Virtual Box。理想情况下,可以使用一个或类似的虚拟化工具,因为它非常小,根本不需要安装

我的方法是使用和 ,因此我可以在安装了docker的情况下启动一个最小的Linux,然后在其中运行docker容器

这是我用来运行它的命令:

qemu-system-x86_64.exe -m 256 -cdrom boot2docker.iso
开机正常,但我有几个问题:

  • 每次启动时,映像都会执行所有配置步骤(为ssh生成密钥、设置主机名等),这些步骤可以在映像第二次运行时跳过;对映像的更改似乎不是持久化的。我想建立一个映像,已经配置,只需要启动
  • 要在映像中添加我的应用程序,我必须使用中描述的步骤重建整个
    boot2docker.iso
    映像
因此,问题是:如何使用基本boot2docker.iso映像并添加一些持久化数据(例如配置和我的应用程序)?可能是从另一个文件挂载的读/写分区?

您的命令

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

启动ISO,您需要的是 在.img中为此iso保留一些磁盘位置

运行此iso并将其安装在此.img中

重新启动

在Linux中,您可以从

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

有一个docker cli for Windows,它似乎就是您想要的,请参阅

您可以使用boot2docker

在boot2docker安装时,它将在后台安装virtualbox

只需启动boot2docker快捷方式,即可隐藏虚拟机管理和虚拟机

我喜欢这个主意

也许您可以检查一下,它有一个很好的轻量级GUI,并且它将qemu系统嵌入其中。我尝试了它(boot2docker的基础),它工作得很好


虽然它似乎不支持64位(boot2docker需要64位),但该功能适合您的需要。

这将创建一个空图像文件。如何在其上安装boot2docker?如果我在它上面运行qemu(
qemu-system-x86_64.exe-m 256-cdrom boot2docker.iso-hda my_image.img-boot d
),它将保持从iso引导,而不会更改img。此外,我如何将文件放入该img中?在Linux中,创建.img后,您将运行类似于
kvm-m 256-cdrom my.iso-boot d image.img的东西,并使用整个磁盘(6G或创建.img时的大小)进行安装,这里使用qemu运行类似的命令,然后重新启动kvm-m 256 image.img你需要在你的.img中完整安装你的.iso操作系统(当然你只会这样做一次)。问题是如何在不使用虚拟盒的情况下完成安装。好的,要删除这个答案就像这个想法一样,你检查过MobaliveCD吗,它似乎不支持64位(boot2docker需要这个),但是这个功能适合你的需要。@LarryCai似乎很有前途。如果你写一个答案,如果行得通,我就接受。唯一缺少的是一个轻量级发行版,里面有docker。可能是boot2docker本身?如果许可证有效,我们可以合作开发一个
livedocker
或基于MobaliveCD的类似项目ok@LarryCai是的,可能需要一个“qemu友好”的
boot2docker分支,例如删除虚拟盒工具等。。。而
livedocker
甚至
quemu
本身都可以用来启动这个实时映像。