是否可以在 64 位主机或其他方式中安装 32 位容器?

问题描述

我正在尝试在树莓派上使用 picamera、raspistill。 我认识到这些模块仅适用于 32 位操作系统。 但我想使用另一个在 64 位操作系统中工作的开发。

所以我的问题是这个。 是否可以制作或安装与主机操作系统不同的容器?

  1. 主机:32 位,容器:64 位
  • 我认为 docker 正式支持 64 位操作系统。所以这不会……对吧?
  1. 主机:64 位,容器:32 位
  • 如果没问题的话。我可以混合使用本地 64 位函数和容器 32 位函数吗?

解决方法

有一个功能可以在同一个内核上运行多个架构。我使用它在 amd64 主机操作系统/内核上的 amd64 容器中运行 i386 二进制文件。

Debian 称之为 Multiarch。我还没有在手臂上试过这个,但理论上这可以和英特尔一样工作。

看看 Multiarch HOWTO

  1. 为 Dockerfile 中的架构使用基础容器,例如image=debian:buster-slim
  2. 添加另一个架构:dpkg --add-architecture armhf
  3. 更新包列表:apt-get update
  4. 为相应架构(例如 armhf 或 arm64)安装工具和库:apt-get install -y yourpackage:armhf

正如我所说的,我只在 i386 上使用它,arm 可能会有更多的陷阱。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...