问题标签 [multiarch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1394 浏览

linux - 使用 as 和 ld 在 x86-64 Linux 上组装并运行 i386 asm 程序

所以我是新尝试 asm,我想编译一个小程序,它只使用 i386 指令而不是 x86-64 指令退出。我有一个 x86-64 Ubuntu,它可以完美地编译和运行 x86-64,但我不知道如何在同一台 x86-64 机器上组装和链接 i386 版本(我已经安装了 i386 compat)。

我知道已经回答了类似的问题,但是他们都没有使用asld做到这一点,所以我不知道如何将这些解决方案转化为我的问题。

对于我使用的 x86-64 asld如下所示:

x86-32版本的程序:

现在..我一直在寻找如何做到这一点,并发现了--32in as 和-m {arg}inld但是每次我编译它而没有拱形错误时,它都会给我“文件格式错误”错误。

我试过用 elf_i386 和 i386linux 做 ld 像这样:


我想补充一点,为了兼容性,我已经安装了 Ubuntu 帮助论坛中列出的这些软件包:

0 投票
1 回答
86 浏览

linux - 检查 linux/chrome 操作系统上的多架构?

我正在Chromebook Plux V2(它具有 x86_64 架构,但不支持多架构)上为AROC制作一个修补程序,我想在他的脚本中运行一个测试来检查它。我可以使用什么命令来检查 linux x86_64 系统上的多架构?

(仅参考原始问题)在该 chromebook 上部署 AROC 时,设备无法运行脚本安装的 i686 busybox 二进制文件。

作者坚持使用 i686 二进制文件,因为他测试部署的 android 容器在具有多架构的主机系统上是 32 位的。

我的目标是修复他的脚本并添加对我正在测试的设备的支持。

我计划通过检查多架构并安装 i686 二进制文件(如果存在 32 位运行时)或安装 x86_64 二进制文件(如果不存在)来执行此操作。我可以使用什么命令来检查多架构?

0 投票
0 回答
69 浏览

docker - 获取多架构 docker 镜像的 SHA

如何获取与 docker hub 上的图像相对应的所有标签的 sha。例如,考虑带有latest,latest-windowslatest-linux标签的图像。On docker pull image_name:latest,docker 将根据运行命令的操作系统自动拉取正确的图像。

如何获得所有三个标签的 SHA。我发现我们可以使用manifest-tool来做到这一点。有没有办法只使用docker来做到这一点。

编辑:

docker inspect image_name:tag根据操作系统,将仅返回 windows 或 linux 中的一个标签的 sha。

0 投票
1 回答
107 浏览

docker - 如何使用 cirrus-ci 创建 docker multiarch 清单?

我正在尝试使用Cirrus CI构建多架构清单,所以我需要启用docker 实验选项
但是 docker 的实验选项没有考虑在内。

在 .cirrusci.yml 我有类似的东西:

但执行报告:

完整的日志是https://api.cirrus-ci.com/v1/task/6577836603736064/logs/main.log

这是对 Cirrus CI 中可用的 dockerd 的限制还是我做了一些错误的配置?

0 投票
1 回答
2375 浏览

linux - ARM 映像的 Docker 构建失败

我尝试在 Travis-CI 上为多种架构构建 docker 映像。这对 amd64 和 i386 工作得很好,但对 ARM 却失败了。

{ARCH}/nextcloud:apache构建在其之上的 Dockerfilephp:7.3-apache-stretch再次使用debian:stretch-slim. 所以所有图像都使用相同的堆栈并且应该反应相似。

.travis.yml

Dockerfile

如前所述,i386 和 amd64 的构建工作没有问题。第一个 RUN 命令已经导致 ARM 构建失败:

https://travis-ci.org/escoand/dockerfiles/jobs/562967055

对我来说,这听起来像是/bin/sh问题所在,但不知道如何处理。

0 投票
1 回答
2358 浏览

docker - docker-compose 多拱

可以为多架构构建 Docker 映像。这通常通过为每个架构创建一个特定的图像来完成,然后根据提取图像的系统创建清单作为正确图像的代理。

那太棒了。

现在,使用docker-compose,也可以构建图像,但是我看不到根据架构构建图像的方法,因此似乎为多个架构提供单个 docker-compose 定义的唯一方法是拥有将多架构图像推送到注册表并从那里拉取。

有谁知道使用 docker-compose 构建步骤为正确的拱门构建本地图像的方法?

0 投票
1 回答
2577 浏览

kubernetes - Kubernetes Arm Master 和 x86 节点是否明智/可行?

我什至不知道这是否可能,但这是否明智?我不知道,但我认为主节点不必像工作节点那样处理那么多。有了这个假设,我想通过将它移动到我的 RPiV4(有 4GB 内存)来使我的主人尽可能节能。

0 投票
2 回答
924 浏览

amazon-web-services - 有没有办法使用 docker manifest-list 在 ECR 中构建多架构映像?

我正在尝试使用 Amazon ECR 来存储我的图像。

现在,我希望我的 image:tag 能够与不同的操作系统和架构(如 linux/amd64、linux/arm64、windows 等)一起使用。

当我使用 docker 时这很好,但似乎我无法使其与 ECR 一起使用。

Docker 说您可以将其推送到不安全的注册表:
https ://docs.docker.com/engine/reference/commandline/manifest/

失败的命令:

此命令成功:

多平台镜像可以推送到 Docker Hub。


我想知道我们如何做到这一点。这是我的想法。如果我错了,请纠正我。

我们可以创建自己的清单文件,其中包含已放置在 ECR 存储库中的图像吗?

就像是:

现在我们有了一个名为image:multi-arch的新图像。然后我们使用这个图像并期望它根据清单自动获取目标架构。

如果我将此最终图像推送到 ECR,它会工作吗?难道我做错了什么?请随时纠正我。

0 投票
2 回答
269 浏览

docker - Docker Buildx 功能 - 不缓存

我正在尝试使用 buildx 实验功能构建多架构 docker 映像。我面临的问题是,每当我执行“make”或“make install”时,docker 都不会缓存该层。

我根据拱门使用不同的 cmake 命令。

我错过了什么?我想要实现的目标是可行的,还是应该只制作多个 dockerfile?

0 投票
1 回答
940 浏览

docker - 构建多架构 Docker 镜像时如何设置架构?

假设我有一个foo为许多不同的拱门(例如,、等)构建foo-arm64foo-amd64应用程序。我想制作非常小的 Docker 图像,如下所示:

但是,当我构建图像时:

架构不正确:

图像拱门似乎总是来自主机。当与主机不同时,如何构建具有正确架构的 Docker 映像?官方 Docker 镜像是如何做到这一点的?