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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 选择一个好的容器镜像需要考虑哪些方面?

vcg_VCG41N1288562960_RF.jpg

文/云原生 SIG

01 背景

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


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

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

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

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

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

02 龙蜥云原生容器镜像

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

6.png

社区维护能力。龙蜥社区基于不同 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 当前进展与未来规划

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

7.png

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.6
docker 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 制品中心获取


团队招人啦:龙蜥云原生团队正在招聘中,欢迎大家一起加入龙蜥云原生,共建云原生社区生态,具体招聘信息点击这里查看。


相关链接:

龙蜥云原生 SIG 主页:

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

—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。

云原生.png

 

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。   相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
1月前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
22天前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
106 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
1月前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
154 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
30天前
|
存储 人工智能 调度
容器服务:智算时代云原生操作系统及月之暗面Kimi、深势科技实践分享
容器技术已经发展成为云计算操作系统的关键组成部分,向下高效调度多样化异构算力,向上提供统一编程接口,支持多样化工作负载。阿里云容器服务在2024年巴黎奥运会中提供了稳定高效的云上支持,实现了子弹时间特效等创新应用。此外,容器技术还带来了弹性、普惠的计算能力升级,如每分钟创建1万Pod和秒级CPU资源热变配,以及针对大数据与AI应用的弹性临时盘和跨可用区云盘等高性能存储解决方案。智能运维方面,推出了即时弹性节点池、智能应用弹性策略和可信赖集群托管运维等功能,进一步简化了集群管理和优化了资源利用率。
|
28天前
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
|
1月前
|
安全 虚拟化 异构计算
GPU安全容器面临的问题和挑战
本次分享由阿里云智能集团弹性计算高级技术专家李亮主讲,聚焦GPU安全容器面临的问题与挑战。内容分为五个部分:首先介绍GPU安全容器的背景及其优势;其次从安全、成本和性能三个维度探讨实践中遇到的问题及应对方案;最后分享GPU安全容器带状态迁移的技术路径与应用场景。在安全方面,重点解决GPU MMIO攻击问题;在成本上,优化虚拟化引入的内存开销;在性能上,提升P2P通信和GPU Direct的效率。带状态迁移则探讨了CRIU、Hibernate及VM迁移等技术的应用前景。
|
1月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
1月前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,智算时代云原生操作系统
2024云栖大会,阿里巴巴研究员易立分享了阿里云容器服务的最新进展。容器技术已成为云原生操作系统的基石,支持多样化的应用场景,如自动驾驶、AI训练等。阿里云容器服务覆盖公共云、边缘云、IDC,提供统一的基础设施,助力客户实现数字化转型和技术创新。今年,阿里云在弹性计算、网络优化、存储解决方案等方面进行了多项重要升级,进一步提升了性能和可靠性。
|
1月前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器化到微服务
本文将带领读者踏上云原生的旅程,深入探讨容器化和微服务架构的概念、优势以及它们如何共同推动现代软件的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务应用,并解释相关的配置和操作。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供有价值的见解和实操指南。
|
2月前
|
Kubernetes Cloud Native 开发者
云原生入门:从容器到微服务
本文将带你走进云原生的世界,从容器技术开始,逐步深入到微服务架构。我们将通过实际代码示例,展示如何利用云原生技术构建和部署应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和启示。

相关产品

  • 容器镜像服务