如何将 .img 转换为 Docker 图片
How to convert .img to a Docker image
我是 Docker 的新手。通过这个 post 我为 Docker 制作了一个 .img 文件,但是我不知道如何将它导入为 Docker 图片...
从完整的操作系统映像生成 Docker 映像通常是一个 sub-optimal 过程。操作系统映像将包含各种在 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 磁盘映像的内容创建一个 运行eaudio docker 映像。请注意,这当然只会在 Docker 运行 下 Raspberry Pi 下 运行,并且如果不进行进一步修改,生成的图像不一定会工作。
您也可以通过在本地挂载磁盘映像来完成同样的事情:
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 访问权限,也不需要处理循环设备和挂载点,因此设置和清理工作较少。
View on:
我是 Docker 的新手。通过这个 post 我为 Docker 制作了一个 .img 文件,但是我不知道如何将它导入为 Docker 图片...
从完整的操作系统映像生成 Docker 映像通常是一个 sub-optimal 过程。操作系统映像将包含各种在 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 磁盘映像的内容创建一个 运行eaudio docker 映像。请注意,这当然只会在 Docker 运行 下 Raspberry Pi 下 运行,并且如果不进行进一步修改,生成的图像不一定会工作。
您也可以通过在本地挂载磁盘映像来完成同样的事情:
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 访问权限,也不需要处理循环设备和挂载点,因此设置和清理工作较少。
View on: