是否可以从包含OS的.img文件创builddocker图像

是否有可能将包含OS(Arch Linux)的.img文件转换为Docker镜像? 更确切地说,我想dockerize RuneAudio树莓派图像。

从完整的操作系统镜像生成Docker镜像往往是一个次优的过程。 操作系统映像将包括Docker环境中根本不需要的各种东西,这只是意味着生成的映像将不必要的大。

也就是说,如果你想尝试这个, libguestfs包中的guestfish命令使得这非常简单:

 guestfish --ro -a RuneAudio_rpi_0.3-beta_20141029_2GB.img -m /dev/sda5:/ tar-out / - | docker import - runeaudio 

这将创buildRuneAudio_rpi_0.3-beta_20141029_2GB.img磁盘映像的内容的runeaudio泊坞窗图像。 请注意,这当然只能在运行在Raspberry Pi上的Docker下运行,并且生成的映像不一定会在没有进一步修改的情况下运行。

你也可以通过在本地安装磁盘镜像来完成同样的事情:

 losetup -P /dev/loop0 RuneAudio_rpi_0.3-beta_20141029_2GB.img mount /dev/loop0p5 /mnt tar -C /mnt -cf - | docker import - runeaudio umount /mnt losetup -d /dev/loop0 

我喜欢guestfish因为它不需要root访问权限,并且不需要使用循环设备和挂载点,所以安装和清理的时间更less。