头图

image.png
03dbf7b884ad4f66b3534173d719462a.jpg

什么是容器应用

传统虚拟机是对硬件资源的虚拟化

a2eaf6d8356cdd8217275b57dea0705f.png

容器的虚拟化层级比虚机要高一级,它是对操作系统的虚拟化。

abb3ec7249dc549a05f0e8cc771d1d0a.png

容器应用就是把软件本身及依赖组件打包在一起组成的一个软件包。它可以在安装了容器引擎的系统上运行。

容器应用的组成方式为docker镜像。docker镜像可以分为多层,其最上层为可写,其它层为只读。如下为一个docker镜像例子:

82b0e6f6ef205986a63f82a9d4d41376.jpg
容器应用与普通应用相比,它具有如下特点:

  • 系统资源使用率高

由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,容器对系统资源的利用率更高。

  • 启动更快

容器应用运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。

  • 运行环境始终保持如一

开发过程中一个常见的问题是环境一致性问题。容器应用提供了除内核外完整的运行时环境,确保了应用运行环境一致性。

  • 迁移轻松

容器运行时确保了执行环境的一致性,因此应用的迁移更加容易。

  • 维护和扩展轻松

容器引擎使用的分层存储镜像,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。

对容器应用快速测试

测试流程如下所示:

be7034da70e15663ff5cb75e303f61ea.png
Azure 容器实例是一种解决方案,它提供了托管无服务器方式容器应用的运行方案。它提供了运行容器的最简捷的方式,你不用管理虚机,也不用管理其它的服务环境。

下面我们看一下如何快速对一个容器应用进行快速的部署测试:

  1. 准备资源

登录之后,我们首先创建一个资源组。

az group create --name acitest --location eastus

1397d7da8979ea84ecc7fb99b3d588e1.png

  1. 部署应用。

即把我们的应用放到容器仓库中去,然后开始部署。我们需要记下输出中的fqdn的内容:

az container create --resource-group acutest --name mycontainer --image mcr.microsoft.com/

azuredocs/aci-helloworld --dns-name-label aci-my-demo --ports 80

c75c45dae8ee765210f747f23b003c77.png
7b088a89b3a9c8f21c9965d44380c4dd.png

  1. 开始测试。

51e18fbe8ca8a6b2252116a5cb3b6195.png

  1. 删除资源,结束测试。

az group delete --name acitest

常见问题

1. 我的测试应用需要访问内网资源,请问可以么?

答:Azure容器实例支持虚拟网络,可以访问内网资源。请参见:

https://docs.microsoft.com/zh...

2. Azure容器实例支持Windows容器么?

答:支持。Azure容器实例支持如下Windows Server 2016和Windows Server 2019。更多信息请参考:

https://docs.microsoft.com/zh...

3. Azure容器实例在中国区有么?

答:目前我们在东二区已经推出Azure容器实例。

4. Azure容器实例支持哪些容器注册表?

答:Azure容器实例支持docker hub, Azure Container Registry以及第三方的注册表。这些注册表必须能从互联网访问。

5. 我的测试环境比较费资源,可能要用数千个CPU核心,我可以用Azure容器实例进行测试么?

答:某些情况下是可以的,但需要您联系技术支持个案处理。 更多信息请参考:

https://docs.microsoft.com/zh...


微软技术栈
418 声望994 粉丝

微软技术生态官方平台。予力众生,成就不凡!微软致力于用技术改变世界,助力企业实现数字化转型。