【问题标题】:Is it possible to create docker image from .img file containing OS是否可以从包含操作系统的 .img 文件创建 docker 映像
【发布时间】:2016-08-03 00:48:36
【问题描述】:

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

【问题讨论】:

标签: docker docker-image


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2020-12-20
    • 2018-03-22
    • 1970-01-01
    • 2017-12-21
    • 2016-06-14
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多