问题标签 [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.
docker - 在 Dockerfile 中设置条件变量
我正在尝试使用预定义的TARGETARCH
arg变量通过 buildkit 创建一个多架构 docker 映像。
我想做的是 - 我认为 - 类似 bash 变量间接的东西,但我知道这不受支持,我正在努力想出一个替代方案。
这是我所拥有的:
...这有点伪代码,但希望能说明我正在尝试做的事情:我想要 a 的值$DOWNLOAD_amd64
或$DOWNLOAD_arm64
放入$DOWNLOAD_URL
,具体取决于$TARGETARCH
设置的内容。
这可能是一个长期解决的问题,但要么我在谷歌上搜索错误的东西,要么就是没有得到它。
macos - 适用于 Linux、Mac 和 Windows 的 crossbuild cmake 教程
CMake 在这里有一个教程:
https://github.com/Kitware/CMake/tree/master/Help/guide/tutorial/Complete
我想使用以下命令为 Linux、Mac 和 Windows 交叉构建它:
https://github.com/multiarch/crossbuild
Crossbuild 提供了一个易于使用的 docker 镜像:
https://hub.docker.com/r/multiarch/crossbuild
我用 Debian Bullseye 代替了 stretch 做了一个分叉:
https://hub.docker.com/r/kmturley/crossbuild
我下载了文件并放在一个/src
文件夹中:
https://github.com/kmturley/cmake-multiarch-docker/tree/feature/crossbuild-new
然后我创建了一个 docker-compose 文件,其中包含:
成功运行docker-compose up
时会生成 Linux 和 Windows 二进制文件。但是没有生成 Mac 二进制文件:
CMakeOutput.log
每个 Docker 映像的文件:
- Linux:https ://gist.github.com/kmturley/61745d5cea04142f4eba029f64a388f9
- Mac:https ://gist.github.com/kmturley/2957ef38929b58e42747a1e2e37dffb5
- 赢:https ://gist.github.com/kmturley/5aa1347959dd7e33c69cca73a45ff788
似乎没有显示任何错误,即使使用cmake --debug-output
.
为什么没有生成 Mac Tutorial 二进制文件?
docker - 在 ansible 上构建多架构 docker 映像?
就像现在一样,可以docker build
使用community.docker集合生成图像:
(来自文档的示例)
我的问题很简单。根据他们的文档,该platform
领域似乎只允许一种架构:
平台格式
os[/arch[/variant]]
。
(注意“平台”而不是“平台”,该类型是“字符串”而不是字符串列表)
是否可以使用 community.docker 集合进行多架构构建(例如amd64
and )?arm
当然,我可以使用 shell/command 来代替:
但是是否可以使用集合中现在可用的内容?