.net sdk将内置支持输出容器镜像文件 – 十轮网-金沙软件免费下载

微软宣布容器将是.net sdk支持的输出类型之一,也就是说,开发者只要使用dotnet publish指令,就可以创建应用程序的容器化版本。官方提到,这项功能对于本地端开发、ci工作管线和执行特定指令用例将会很方便。

容器是捆绑应用程序的好方法,也是目前在云计算发布和执行应用程序的热门形式,容器镜像文件主要由两部分组成,一部分是包含如何执行应用程序的json元数据,另一部分则是表示文件系统的tarball文件列表,在.net 7中,微软通过在.net runtime添加数个api,以处理tarball文件和流媒体,如此便可简单地以程序开发方法操作容器镜像文件。

官方提到,这种方法已经在java生态系统中的jib和ko for go等项目成功运行,而.net中的konet也获得很好的反馈。以简单工具生成容器镜像文件的方法越来越流行,微软基于这概念,在现有构建逻辑无缝集成容器镜像文件创建功能,以c#实例,集成到.net sdk中,使得.net团队可以直接在现有的工作流程中使用到新功能。

由于微软提供了一些设置的默认值,因此开发者不需要碰触到编写dockerfile的复杂工作,但是可以在msbuild属性和项目中,自定义生成镜像文件的各部分。

微软所使用的基础镜像文件为debian linux发行版,开发者也可以使用像是alpine或ubuntu等发行版,不过会需要手动更改基础镜像文件属性配置,微软提到,他们认为使用基于debian的runtime镜像文件版本,能够广泛兼容大多数应用程序。

由于现在这个以sdk构建容器镜像文件的功能,还在预览阶段,因此仍然有一些限制,像是目前仅支持linux-x64镜像文件部署场景,windows镜像文件和其他架构的支持,虽然都在官方开发计划中,但还需要再等等。

微软也还未实现身份验证支持,无法推送到远程的注册表,官方提到,该功能在他们优先开发列表中,与此同时,微软建议开发者可以先将镜像文件推送到本地docker守护行程,再使用docker tag和docker push推送镜像文件到目的地。另外,目前微软也尚未实例部分镜像文件元数据的自定义,因此更完整的自定义功能之后才会提供。

微软预计在.net 7的候选版本发布阶段,就会完成添加新的图像元数据,并且支持推送镜像文件到远程注册表,同时也会支持windows镜像文件。

发表评论