docker - 为 x86、armv7 32 和 arm 64 创建 dockerfile 有什么区别
问题描述
我想创建 dockerfile 以在 alpine 之上安装 node 和 mongodb。x86、armv7 32 和 arm 64 的 dockerfile 有何不同
解决方案
每一个都Dockerfile
以一个开头
FROM <base_image>
声明,因此您必须选择一个能够在您的系统/架构上运行并在其之上构建的基础映像。
从这里:
Docker 官方镜像
有关该程序的高级概述,请参阅Docker 的文档。
amd64 以外的架构?
一些镜像已经被移植到其他架构中,其中许多是官方支持的(在不同程度上)。
- Docker, Inc. 正式支持的用于运行 Docker 的架构:(请参阅download.docker.com) - IBM z Systems (
s390x
):https ://hub.docker.com/u/s390x/ - ARMv7 32 位 (arm32v7
):https ://hub.docker.com/u/arm32v7/ - Windows x86-64 (windows-amd64
): https://hub.docker.com/u/winamd64/ - Linux x86-64 (amd64
): https://hub.docker .com/u/amd64/
- 官方镜像搭建的其他架构:(但不被 Docker, Inc. 官方支持)
- IBM POWER8 (
ppc64le
): https://hub.docker.com/u/ppc64le/ - x86/i686 (
i386
): https://hub.docker.com/u/i386/ - ARMv8 64 位 (
arm64v8
): https://hub.docker.com/u/arm64v8/ - ARMv6 32 位(
arm32v6
):https ://hub.docker.com/u/arm32v6/ (树莓派 1,树莓派零) - ARMv5 32 位 (
arm32v5
): https://hub.docker.com/u/arm32v5/
- IBM POWER8 (
- 您还可以找到使用 Docker Hub 上传其图像的其他用户/来源。在Raspberry Pi上使用ffmpeg进行一些测试时,我决定信任resin.io提供的图像(更新:现在它们被称为balena.io,这是他们的Docker中心:hub.docker.com/u/balena)
- 如果您有兴趣了解如何创建图像,可以查看它的
Dockerfile
. 例如,对于 arm64v8 上的 Node.js,请参阅此处的 Dockerfile
推荐阅读
- laravel - Laravel Passport API 总是从前端返回 401 未授权
- assembly - 获取带有地址的控制流图,如程序集中所示
- python - 从 yelp 抓取评论总是返回第一页
- ansible - 在 kibana 状态端点上使用 ansible uri 模块时出错
- maxscript - 添加多个按钮和可见属性时的用户控件问题
- c# - 当安排大量 CPU 密集型工作时,.Net 线程池是否提供任何机制来避免 I/O 性能下降?
- excel - 具有多列和多行的 Vlookup
- java - Dockerize Spring Boot mongo
- matlab - matlab:内存不足,可召开会议的个人电脑
- getopts - korn 脚本选项未正确找到 getopts