繁体   English   中英

从 rootfs 创建一个 docker 容器

[英]creating a docker container from a rootfs

我正在处理以下问题:

机器人有一个旧的 Gentoo 操作系统: Linux bob 2.6.33.9-rt31-aldebaran-rt #1 SMP PREEMPT RT Thu Aug 27 21:42:34 CEST 2015

问题:

  1. 我正在尝试为这个机器人构建一个工具链,以便我可以使用 gcc/g++ 4.9 或更高版本编译新应用程序。
  2. 机器人不支持这一点,而且空间有限。
  3. 我尝试设置 RPATH 来复制较新的库版本,但涉及的问题太多了,它不起作用,唯一的解决方案是静态链接。
  4. 在我看来,我需要通过从机器人创建 rootfs 来构建应用程序。

所以我将整个机器人操作系统rsync'ed到我的电脑上。 现在我想构建一个 docker 镜像,以便我可以使用它从头开始构建 gcc/g++,而没有机器人的限制(它有一个Intel(R) Atom(TM) CPU Z530 @ 1.60GHz ,1Gb 的 RAM 和只有 29Mb可用硬盘)。

  • 我用 rsync 复制并保留了所有属性、所有权等。
  • rootfs 位于/home/alex/roots
  • 我知道我需要以 root 运行docker -t someorg/somename /home/alexrootfs

我的问题是(把我当作 docker 的菜鸟):

  • 我需要在 i686 操作系统/KVM 下运行,因为机器人操作系统是在 i686 操作系统下运行的?
  • 我需要在 rootfs 内的Dockerfile设置一些细节(例如/home/alex/rootfs/Dockerfile

以前做过这件事的人还有其他提示、技巧或问题吗? 我想使用 docker 而不是 chroot,因为这最终应该成为为机器人构建应用程序但构建在其他机器上的自动化工具的一部分。

提前谢谢了!

您需要在与机器人相同的架构上运行 docker,是的。

如果您已经拥有完整的 rootfs, Dockerfile将如下所示:

FROM scratch
ADD . /

你会使用

docker build -t someorg/somename /home/alex/rootfs/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM