6

是否可以将.img包含操作系统(Arch Linux)的文件转换为 Docker 映像?更准确地说,我想对RuneAudio Raspberry Pi 图像进行 dockerize。

4

1 回答 1

10

从完整的操作系统映像生成 Docker 映像通常是一个次优过程。操作系统映像将包含各种在 Docker 环境中根本不需要的东西,这仅仅意味着生成的映像将变得不必要地大。

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

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

这将创建一个包含磁盘映像runeaudio 内容的 dockerRuneAudio_rpi_0.3-beta_20141029_2GB.img映像。请注意,这当然只能在运行在 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 访问权限,也不需要处理循环设备和挂载点,因此设置和清理工作更少。

于 2016-04-12T13:55:17.807 回答