3 Star 0 Fork 0

mirrors_aliyun/yitian-ecs-getting-started

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

使用多架构容器镜像

多架构容器镜像支持在一个镜像内包含多种架构的镜像,可以简化在不同架构主机上的运行和维护成本。目前阿里云镜像服务 ACR 、容器服务 ACK 均已支持多架构镜像。

用户可以使用 EasyYitian 辅助构建多架构容器镜像,或自行基于阿里云提供的多架构优化镜像进行构建。

构建多架构容器镜像

下面的实例演示如何构建和推送一个 Java 应用的多架构镜像。

开源的 Dragonwell JDK 提供了 x64 和 arm64 的多架构镜像,并针对倚天架构进行了性能和稳定性的优化,推荐作为 Java 容器应用的基础镜像。

如下以空应用作为示例,展示基于 Dragonwell 的多架构 Java 应用构建方式。

# Dockerfile
FROM dragonwell-registry.cn-hangzhou.cr.aliyuncs.com/dragonwell/dragonwell:dragonwell-11.0.15.11.9_jdk-11.0.15-ga-ubuntu

CMD ["java", "-version"]

如原有的构建命令为:

docker build . -t registry.cn-hangzhou.aliyuncs.com/app/myapp:latest

如下命令可以构建并将产生的多架构镜像推送到镜像仓库:

docker buildx build --platform linux/amd64,linux/arm64/v8 . -t registry.cn-hangzhou.aliyuncs.com/app/myapp:latest --push

首次使用docker buildx时可能需要创建构建环境:

docker buildx create

随后,在不同架构的容器环境中拉取registry.cn-hangzhou.aliyuncs.com/app/myapp:latest镜像时,会自动匹配正确的架构,简化部署流程,也可以达到混合部署等目的。

语言迁移相关

在构建多架构容器镜像时首先需要确认应用本身没有架构相关的功能,这部分可以参考本文档的语言迁移部分。

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors_aliyun/yitian-ecs-getting-started.git
git@gitee.com:mirrors_aliyun/yitian-ecs-getting-started.git
mirrors_aliyun
yitian-ecs-getting-started
yitian-ecs-getting-started
master

搜索帮助