【发布时间】:2023-01-21 19:46:22
【问题描述】:
介绍
有一个选项 --platform 用于运行 Docker 镜像,配置 platform 用于 docker-compose。
此外,几乎在 hub.docker.com 中的所有官方 Docker 镜像中,一个标签中都有一些受支持的架构。
以Ubuntu官方镜像为例:
大多数服务器(也在 Kubernetes 中)是linux/amd64。
我将我的 MacBook 更新为带有他们自己的硅芯片(M1/M2...)的新 MacBook,现在 Docker Desktop 向我显示消息:
对于官方图片(你可以在没有黄色注释的情况下看到它们)它会自动下载所需的平台(我猜)。
但对于自定义创建的图像(在 nexus、工件等私人存储库中)我没有影响。是的,我可以为不同的平台构建适当的图像(比如使用 buildx)并将其推送到私有存储库,但是,在公司中,存储库由 DevOps 管理——这样做很棘手。他们说服务器架构是linux/amd64,如果我在不同的平台上开发面向web的软件(PHP等),即使版本(tag)一样——那环境也不一样,也没有保证它将在服务器上运行。
我假设这只是软件和硬件之间指令解释的差异。
我想更好地理解这个主题。网上有很多粗浅的资料,不详述。
问题
- Docker 镜像的“平台/架构”到底意味着什么?像核心基础知识。
- 您真的会为解释型编程语言获得不同的代码吗?
- 在我看来,如果指定了错误的平台,容器工作会非常缓慢。但是如何衡量这一点(脚本性能、与主机文件系统的交互等)
【问题讨论】:
标签: docker kubernetes