在 chroot 环境中拉取 Docker 镜像

在 chroot 环境中拉取 Docker 镜像

我正在尝试使用 Pi-Gen 创建我自己的自定义 Raspberry Pi 映像https://github.com/RPi-Distro/pi-gen基本上我可以满足大部分要求,但是在尝试使用其安装脚本安装 HomeAssistant 时遇到了问题。

正如您在上述 git repo 中看到的,Pi-Gen 使用暂存系统。每个阶段都包含在目标 chroot 上执行的脚本。我已经以这种方式安装了 docker。为了安装 HomeAssistant,我复制了此脚本:https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh到目标 chroot。然后我用这个命令执行它:

现在的问题是,在这个安装脚本中,我尝试将 docker 镜像拉入虚拟 chroot 环境。

这会导致此错误:

[Info] Install supervisor Docker container"
time="2020-05-01T09:38:10+01:00" level=error 
msg="failure getting variant" 
error="getCPUInfo for pattern: Cpu architecture: not found"

Docker 似乎没有关于 chroot 环境中 CPU 的任何信息。有没有什么方法可以解决这个问题?

谢谢

答案1

在进入 chroot(或运行进入 chroot 的脚本)之前,绑定/进程目录位于 chroot 基础路径之上,以便 docker 可以“看到”/proc/cpu信息在主机操作系统上。

mount -o bind /proc ./mychrootbasepath/proc

相关内容