如何从SD卡镜像制作容器镜像?

问题描述 投票:0回答:1

我为嵌入式设备进行开发,我想在 Docker 容器中模拟该设备,目的是自动化升级测试。该设备包含引导加载程序 (u-boot)、两个根分区和一个数据分区。在升级过程中,任何分区都可能被触及。我有在制造过程中使用的旧 SD 卡映像,这些映像已复制到设备上的闪存中。 该映像是使用 yocto 为 imx6 处理器构建的 Linux 映像。

  1. 是否可以从这些图像之一制作容器图像?如果是的话怎么办?
  2. 一个容器镜像可以有多个分区吗?或者我应该重新考虑这个过程?

我试过这个

FROM scratch ADD my_sd_card.img /

当我开始我得到的图像

Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "--attach": executable file not found in $PATH: unknown Error: failed to start containers: 3ff71505c5e9

docker yocto
1个回答
0
投票

容器镜像只是文件的集合;它没有分区,因为它不是块设备。理论上,您可以解压

.img
文件并从中构建容器映像。

例如:

  1. 将SD卡镜像挂载到本地目录

  2. 创建一个如下所示的 Dockerfile:

    FROM scratch
    COPY . .
    CMD ["/bin/sh"]
    
  3. 构建图像:

    docker build -t myimage -f /path/to/Dockerfile /path/to/mountpoint
    

可能有用;这取决于映像中安装的内容及其运行方式。

© www.soinside.com 2019 - 2024. All rights reserved.