4 传统.NET 4.x应用容器化


4 传统.NET 4.x应用容器化

文章插图
| 总结/Edison Zhou
上一篇我们试着将.NET 4.x的镜像推送到harbor私有镜像仓库,本篇我们来使用一下阿里云的镜像仓库服务并了解一下携程的实践 。
1 关于阿里云镜像仓库
阿里云容器镜像服务(简称 ACR)是面向容器镜像、Helm Chart 等符合 OCI 标准的云原生制品安全托管及高效分发平台 。ACR 支持全球同步加速、大规模/大镜像分发加速、多代码源构建加速等全链路提效,与容器服务 ACK 无缝集成,帮助企业降低交付复杂度,打造云原生应用一站式解决方案 。
阿里云容器镜像服务有两种类型:
(1)容器镜像服务ACR个人版
容器镜像服务ACR个人版面向个人开发者,提供基础的容器镜像服务,包括应用镜像托管能力、镜像安全扫描功能、稳定的国内外镜像构建服务以及便捷的镜像授权功能,方便用户进行镜像全生命周期管理 。
(2)容器镜像服务ACR企业版
容器镜像服务ACR企业版面向企业客户,是企业级云原生应用制品管理平台,提供容器镜像、Helm Chart,符合OCI规范制品的生命周期管理;支持大规模、多地域、多场景下应用制品的高效分发;与容器服务ACK无缝集成,帮助企业降低交付复杂度 。
其中,个人版是免费使用的,但命名空间有限额3个,不过对于我们学习调研完全够用了 。因此,本篇主要使用个人版实例来进行实验 。
个人版具体的功能如下:
多架构镜像托管支持支持Linux、Windows、ARM等多架构容器镜像 。灵活的地域选择您可以根据自己的业务需求,选择不同的地域创建和删除镜像仓库 。每个镜像仓库都提供了公网、内网、VPC网络下对应的网络地址 。镜像安全扫描支持便捷的镜像安全扫描功能,展示详细的镜像层信息 。提供镜像漏洞报告,展示漏洞编号、漏洞等级、修复版本等多维度漏洞信息 。可以看到,阿里云容器镜像仓库也同时支持Linux 和 Windows多平台的容器镜像,完美符合我们的需求 。
2 配置阿里云镜像仓库
创建命名空间
我们可以先创建几个命名空间,用于区分不同环境的镜像 。
4 传统.NET 4.x应用容器化

文章插图
创建镜像仓库
我们在指定命名空间下创建几个镜像仓库,后面我们在 Windows Server 端推送镜像到这几个镜像仓库中 。
4 传统.NET 4.x应用容器化

文章插图
后面的示例,我们就在客户端推送镜像到 dotnet-sdk、dotnet-runtime 以及 dotnet-samples 三个项目中 。
3 推送镜像到阿里云镜像仓库
公网环境下
(1)登录阿里云docker registry:
$ docker login --username=**********@***.com registry.cn-chengdu.aliyuncs.com这里 registry.cn-chengdu.aliyuncs.com 就是阿里云容器镜像服务的公网地址 。
(2)将.NET镜像推送到阿里云docker registry:
$ docker tag reg.edisonzhou.cn/dotnet/sdk:framework-4.8 registry.cn-chengdu.aliyuncs.com/edisonzhou-dev/dotnet-sdk:framework-4.8$ docker push registry.cn-chengdu.aliyuncs.com/edisonzhou-dev/dotnet-sdk:framework-4.8容器镜像的推送速度取决于网络环境(如带宽)
推送后镜像仓库效果:
4 传统.NET 4.x应用容器化

文章插图
(3)在Windows Server从阿里云docker registry拉取镜像:
$ docker pull registry.cn-chengdu.aliyuncs.com/edisonzhou-dev/dotnet-sdk:framework-4.8内网环境下
如果使用阿里云ECS,可以直接选择阿里云镜像仓库的内网地址,可以大幅度提高传输效率并减少公网流量开销 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: