文/云原生 SIG

01

背景

随着云原生的蓬勃发展,越来越多的企业在自己的生产或者测试环境使用云原生技术,而容器镜像正是云原生技术中应用的实际运行环境。一个好的容器运行环境即容器镜像会真正关系到应用的体验、演进和维护。那么选择一个好的容器镜像需要考虑哪些方面呢?具体如下:

1. 长期的支持与维护:容器镜像提供的环境是分层的,企业容器应用往往是在一些基础镜像(base image)之上构建自己的应用镜像,而基础镜像提供了应用中所依赖的库、软件包等。对基础镜像上软件包的维护更新、问题修复、新功能支持等,是我们构建一个好的、可靠的、稳定的应用镜像的必要条件。

2. 安全:企业应用的生产往往是开发人员将自己的应用与第三方应用(包括基础容器镜像)通过构建打包成可部署的制品内容,然后应用到生产环境中,这个过程隐藏着两个安全诉求:

  • 需要保证所使用的容器镜像的安全性。

  • 需要保证在整个软件生命周期中,软件包的源头以及制品的完整性、可追溯性证明也就成了安全的关键环节。

3. 性能/最佳实践:当前很多用户使用的容器镜像都仅仅是提供了通用的应用环境,针对各类场景缺少性能优化、缺少最佳实践方案,那么能否为用户提供优化的容器镜像、为场景提供最佳实践的容器镜像方案就成为很多用户考虑的方面。

基于上面的用户诉求,龙蜥云原生容器镜像(Anolis Container Image)应运而生。今天,很高兴地宣布龙蜥云原生容器镜像正式发布,同时也构建了部分镜像提供给社区用户进行下载,包括基础 base 镜像、基础语言镜像、基础应用镜像等(下载使用方法见下文)。

02

龙蜥云原生容器镜像

龙蜥云原生容器镜像旨在建设一个持续优化的、长期支持和维护的、安全可靠的容器镜像生态,为广大云原生用户、开发者和伙伴提供一个最佳云原生运行环境:

  • 社区维护能力。龙蜥社区基于不同 OS 版本都会维护基础软件 RPM 包,以及基础的语言、应用等软件包,可提供丰富的 base 镜像,并且会定期进行维护更新等,这些都保证了基于龙蜥软件包构建出来的容器镜像具有完整的生命周期管理能力。未来在社区会提供下面三类容器镜像能力:

  • Anolis Base Container Image:包括 Anolis 7、Anolis 8、Anolis 23、Alinux 2、Alinux 3 等 (Alinux 即 Alibaba Cloud Linux 的简称,是由阿里云操作系统团队以 Anolis OS 为基础构建的阿里云操作系统发行版。目前阿里云操作系统团队也将其贡献到了龙蜥社区云原生 SIG 的容器镜像生态中)。

  • Language Container Image Base Anolis/Alinux:C++、Java、Python、Nodejs、Go 等。

  • Application Container Image Base Anolis: nginx、postgres、redis、httpd、mongo、mysql 等。

  • 安全保证。社区主要有两方面保证,一是从容器镜像软件包来源上,社区会定期对镜像中软件包进行定期 CVE 修复,保证从源头上解决安全能力;二是从容器镜像完整性上,我们构建过程中会对镜像进行数字签名,这样 Release 的镜像都是带有签名加固,实际下载镜像的用户使用者可以进行验签。而相对于传统的签名方案,我们在云原生场景可以支持更加便捷的 Keyless Signatures 模式,可以更加友好、易用地进行加签和验签。

  • 性能最优。龙蜥社区有丰富的软件方案,其中 KeenTune 提供 AI 算法和专家知识库智能调优,我们在一些应用镜像中默认集成了 KeenTune,可以让业务运行在最优的环境中。

同时龙蜥云原生容器镜像面向开发者与伙伴提供了一站式的开发集成设施,从容器的构建平台到测试平台,再到分发平台等,可以帮助开发者低门槛贡献容器镜像。开发者只需要在社区代码仓库中提交对应镜像的 Dockerfile,社区基础设施可以完成完整的容器构建与测试、分发流程,代码仓库见下:https://gitee.com/anolis/docker-images/。

03

当前进展与未来规划

目前我们已经构建了部分的镜像,并可以提供给社区用户进行下载,未来一年我们会提供更多的高频使用容器镜像,同时在下载的镜像中带有安全数字签名,初步路标如下图所示:

04

如何获取使用

当前我们在社区已经构建出了基础的 Anolis OS base 镜像,以及部分基础语言与应用的镜像,用户可以根据下表中列出的地址进行下载和使用(链接见文末),也欢迎大家在社区中提出建议和意见。

直接下载使用

举例如下:

Anolis 的 base 镜像:

docker pull registry.openanolis.cn/openanolis/anolisos:8.6   

基础语言镜像:

docker pull registry.openanolis.cn/openanolis/golang:1.19.4-8.6
docker pull registry.openanolis.cn/openanolis/python:3.11.1-8.6      

基础应用镜像:

docker pull registry.openanolis.cn/openanolis/mysql:8.0.30-8.6d
ocker pull registry.openanolis.cn/openanolis/redis:5.0.3-8.6      

作为 base 镜像使用

举例如下:

[root]# cat Dockerfile
FROM registry.openanolis.cn/openanolis/anolisos:8.6
RUN touch hello   
    [root]# docker build -t anolis-test . Sending build context to Docker daemon  2.048kB ​Step 1/2 : FROM registry.openanolis.cn/openanolis/anolisos:8.6 ​8.6: Pulling from openanolis/anolisos ​719018114380: Pull complete ​Digest: sha256:9395d241fc1a41a592773629994c3c0fa48886dd99c75431d7a885fb842753fa ​Status: Downloaded newer image for registry.openanolis.cn/openanolis/anolisos:8.6 ​ ---> 6f8a2912d1d7 Step 2/2 : RUN touch hello ---> Running in ca675e55ccb7 Removing intermediate container ca675e55ccb7 ---> 5b86728702bd ​Successfully built 5b86728702bd Successfully tagged anolis-test:latest [root]# docker run --rm anolis-test ls hello hello  

此外,我们也正在与阿里云容器服务团队进行合作,在阿里云 ACR 制品中心陆续上架龙蜥社区的容器镜像,大家可以直接查看阿里云 ACR 制品中心获取(链接见文末)。

团队招人啦:龙蜥云原生团队正在招聘中,欢迎大家一起加入龙蜥云原生,共建云原生社区生态,招聘链接:

https://talent.alibaba.com/off-campus/position-detail?lang=zh&positionId=922335

相关链接:

云原生容器镜像列表:

https://openanolis.cn/sig/cloud-native/doc/710522280708245266

阿里云 ACR 制品中心:

https://cr.console.aliyun.com/cn-hangzhou/instances/artifact

龙蜥云原生 SIG 主页:

https://openanolis.cn/sig/cloud-native

—— 完 ——

可靠、稳定、安全,龙蜥云原生容器镜像正式发布!相关推荐

  1. 服务器和交换机物理连接_利用Calico融合物理网络的云原生容器SDN方案

    01 云原生的背景 随着云计算的蓬勃发展,越来越多的IT设施及架构具备了虚拟化.分布式.多租户的云计算能力,这些能力为高速发展的互联网行业插上了腾飞的翅膀.并为互联网业务的开展提供了极大的便利. 当移 ...

  2. 腾讯云EMR基于YARN针对云原生容器化的优化与实践

    导语 | 传统HADOOP生态系统使用YARN管理/调度计算资源,该系统⼀般具有明显的资源使⽤周期.实时计算集群资源消耗主要在⽩天,而数据报表型业务则安排在离线计算集群中.离在线业务分开部署的首要问题 ...

  3. vivo 云原生容器探索和落地实践

    作者:vivo 互联网容器团队- Pan Liangbiao 本文根据潘良彪老师在"2022 vivo开发者大会"现场演讲内容整理而成.公众号回复[2022 VDC]获取互联网技术 ...

  4. 在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

    作者 | 溪恒  阿里云技术专家 直播完整视频回顾:https://www.bilibili.com/video/BV1nC4y1x7mt/ 关注"阿里巴巴云原生"公众号,后台回复 ...

  5. 云原生容器化-1 Linux虚拟网络介绍

    背景: 本文开始引入一个新的专题--云原生容器化,用于收集云和容器化相关的文章: 以Docker和Kubernates的组成.实现原理.常见操作为主体内容,还会涉及一些云的概念:初步计划会整理出以下文 ...

  6. 云原生容器平台的容灾

    目录 引言 什么是业务连续性 什么是容灾 什么是灾难恢复 容灾的关键指标 容器平台的容灾 容器应用对业务连续性的要求 容器平台实现容灾的挑战 容器应用实现容灾的原则 容器平台的容灾实现思路 基于备份恢 ...

  7. 学习笔记:云原生容器化技术——Docker

    Docker学习笔记 前言 一.Docker概述 1.1 Docker为什么会出现? 1.2 Docker的历史 1.3 Docker为什么这么火爆? 1.4 虚拟机技术与容器化技术的区别 二.Doc ...

  8. nexus 代理阿里云_Azure容器镜像代理服务失效

    Azure容器镜像代理服务失效 解决方案 前段时间 Azure 中国提供的容器镜像代理服务已经不开放了,只给 Azure 云使用.最近使用Azure的加速地址都显示404.像以下拉取镜像的方式,现在不 ...

  9. 最佳案例 | 游戏知几 AI 助手的云原生容器化之路

    作者 张路,运营开发专家工程师,现负责游戏知几 AI 助手后台架构设计和优化工作. 游戏知几 随着业务不断的拓展,游戏知几AI智能问答机器人业务已经覆盖了自研游戏.二方.海外的多款游戏.游戏知几研发团 ...

最新文章

  1. PLSQL连Oracle数据库Could not load ……\bin\oci.dll
  2. C++ 虚函数、多态
  3. 转: C语言中位运算符异或“∧”的作用
  4. options请求_前端数据请求的终极方案
  5. vue 如何将参数放到连接上_通过Vue路由传参的两种方式及Vue组件中接收参数的方式...
  6. 在此iphone上尚未受信任_电脑显示服务器上的安全数据库没有此工作站信任关系的解决方法...
  7. mybatis学习(54):鉴定器
  8. 我的世界光影mod怎么用_玩转光影!闪光灯、反光板怎么用才高级?
  9. a5d2 mac 驱动分析
  10. Gradle[1]gradle distZip时,增加目录信息到zip中
  11. linux移动文件_Linux基础
  12. StringBuffer、StringBuilder、冒泡与选择排序、二分查找、基本数据类型包装类_DAY13...
  13. Event Listener's Adapter Classes
  14. 实操调试成功 基于NI-VISA的USBTMC接口程控仪器连接
  15. 【入门】用matlab做数字信号处理(学习记录)
  16. 新华书店牵手阿里云 要用云计算打造“智慧悦读”
  17. R语言进行的变量相关性显著性检验
  18. 虚拟机的不同网络模式
  19. python中turtle画雪花_turtle画雪花-方法及效果的详解
  20. The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the argu

热门文章

  1. angular基础学习
  2. php if为空那么,PHP中判断数组是否为空的方法
  3. Java编写 输入一个字符串,请编写一个函数统计连续相同字符及其数量。例如,输入“aabbbbcccAB”,返回“a2b4c3 A1 B1”及5;
  4. 扒一扒云服务器和VPS主机有啥不一样
  5. v-loading的使用(ElementUI)
  6. 8.2计算各商品销售金额
  7. mysql分组排序取每组第一条
  8. 基于Pytorch Mobile在安卓手机端部署深度估计模型
  9. 新的摩尔多瓦投资公民身份计划开放申请
  10. Android 软件平台架构设计