问题标签 [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.
linux - 使用 as 和 ld 在 x86-64 Linux 上组装并运行 i386 asm 程序
所以我是新尝试 asm,我想编译一个小程序,它只使用 i386 指令而不是 x86-64 指令退出。我有一个 x86-64 Ubuntu,它可以完美地编译和运行 x86-64,但我不知道如何在同一台 x86-64 机器上组装和链接 i386 版本(我已经安装了 i386 compat)。
我知道已经回答了类似的问题,但是他们都没有使用as
并ld
做到这一点,所以我不知道如何将这些解决方案转化为我的问题。
对于我使用的 x86-64 as
,ld
如下所示:
x86-32版本的程序:
现在..我一直在寻找如何做到这一点,并发现了--32
in as 和-m {arg}
inld
但是每次我编译它而没有拱形错误时,它都会给我“文件格式错误”错误。
我试过用 elf_i386 和 i386linux 做 ld 像这样:
我想补充一点,为了兼容性,我已经安装了 Ubuntu 帮助论坛中列出的这些软件包:
linux - 检查 linux/chrome 操作系统上的多架构?
我正在Chromebook Plux V2(它具有 x86_64 架构,但不支持多架构)上为AROC制作一个修补程序,我想在他的脚本中运行一个测试来检查它。我可以使用什么命令来检查 linux x86_64 系统上的多架构?
(仅参考原始问题)在该 chromebook 上部署 AROC 时,设备无法运行脚本安装的 i686 busybox 二进制文件。
作者坚持使用 i686 二进制文件,因为他测试部署的 android 容器在具有多架构的主机系统上是 32 位的。
我的目标是修复他的脚本并添加对我正在测试的设备的支持。
我计划通过检查多架构并安装 i686 二进制文件(如果存在 32 位运行时)或安装 x86_64 二进制文件(如果不存在)来执行此操作。我可以使用什么命令来检查多架构?
docker - 获取多架构 docker 镜像的 SHA
如何获取与 docker hub 上的图像相对应的所有标签的 sha。例如,考虑带有latest
,latest-windows
和latest-linux
标签的图像。On docker pull image_name:latest
,docker 将根据运行命令的操作系统自动拉取正确的图像。
如何获得所有三个标签的 SHA。我发现我们可以使用manifest-tool来做到这一点。有没有办法只使用docker来做到这一点。
编辑:
docker inspect image_name:tag
根据操作系统,将仅返回 windows 或 linux 中的一个标签的 sha。
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 的限制还是我做了一些错误的配置?
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
问题所在,但不知道如何处理。
docker - docker-compose 多拱
可以为多架构构建 Docker 映像。这通常通过为每个架构创建一个特定的图像来完成,然后根据提取图像的系统创建清单作为正确图像的代理。
那太棒了。
现在,使用docker-compose
,也可以构建图像,但是我看不到根据架构构建图像的方法,因此似乎为多个架构提供单个 docker-compose 定义的唯一方法是拥有将多架构图像推送到注册表并从那里拉取。
有谁知道使用 docker-compose 构建步骤为正确的拱门构建本地图像的方法?
kubernetes - Kubernetes Arm Master 和 x86 节点是否明智/可行?
我什至不知道这是否可能,但这是否明智?我不知道,但我认为主节点不必像工作节点那样处理那么多。有了这个假设,我想通过将它移动到我的 RPiV4(有 4GB 内存)来使我的主人尽可能节能。
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,它会工作吗?难道我做错了什么?请随时纠正我。
docker - Docker Buildx 功能 - 不缓存
我正在尝试使用 buildx 实验功能构建多架构 docker 映像。我面临的问题是,每当我执行“make”或“make install”时,docker 都不会缓存该层。
我根据拱门使用不同的 cmake 命令。
我错过了什么?我想要实现的目标是可行的,还是应该只制作多个 dockerfile?
docker - 构建多架构 Docker 镜像时如何设置架构?
假设我有一个foo
为许多不同的拱门(例如,、等)构建foo-arm64
的foo-amd64
应用程序。我想制作非常小的 Docker 图像,如下所示:
但是,当我构建图像时:
架构不正确:
图像拱门似乎总是来自主机。当与主机不同时,如何构建具有正确架构的 Docker 映像?官方 Docker 镜像是如何做到这一点的?