是否可以将.img
包含操作系统(Arch Linux)的文件转换为 Docker 映像?更准确地说,我想对RuneAudio Raspberry Pi 图像进行 dockerize。
问问题
6657 次
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 回答