将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure
在我的上一个教程中,我在 Docker Container 中创建了我的第一个 ASP.NET Core Web 应用程序。我现在将这个 Docker 容器化应用程序部署到 Azure云服务提供商。这将使该应用程序在互联网上运行,以便可以在浏览器上通过 URL 访问它。

记住docker hub是一个包含 docker 镜像的免费注册表。这是一种创建、管理和交付镜像的简单方法。如果您到现在还没有这样做,您必须在上面创建您的免费帐户。
部署程序
dockerized 应用程序的部署过程包含 3 个步骤。
- 第 1 步– 首先,我将在本地 docker 环境中构建此应用程序的 docker 镜像。
- 第 2 步– 接下来,我将此镜像推送到位于 docker hub 上的存储库。
- 第 3 步– 最后,我将指示 Azure 从 docker hub 拉取镜像并使应用程序上线。
我已经在下图中说明了这个过程:
在本地构建 Docker 镜像
打开命令提示符并导航到此ASP.NET Core应用程序的Dockerfile目录。构建镜像,使其以这种格式命名 – username/repository:tag。
这里的“username”是您的 docker hub 帐户的名称,“repository”是您的 docker hub 帐户中的存储库的名称。“tag”可以是“v1”等任何东西。
要运行的 docker build 命令是:
docker build -t yogyogi/apps:first .
请注意,yogyogi是我的 docker hub 帐户的用户名。名称apps是存储库的名称,位于我的 docker hub 帐户中,这是从我的本地 pc 推送此镜像的位置。第一个是镜像的标签。
标记镜像很有帮助,因为我们可以将多个镜像保存在一个存储库中。例如,我可以将另一个名为yogyogi/apps:second的镜像推送到同一个存储库中。
使用“docker push”命令将镜像推送到 docker hub
现在登录到您的 docker hub 帐户并以apps的名称创建一个新的存储库。创建存储库后,它将显示将本地镜像推送到它的 push 命令。我的命令是。
docker push yogyogi/apps:tagname
回想一下,我已将镜像标记为“first”,因此我的推送命令将是:
docker push yogyogi/apps:first
假设您没有登录,那么在这种情况下,您可以从 docker Desktop本身登录。
另一种方法是通过命令提示符窗口登录。登录命令是:
docker login
它将询问您 docker hub 帐户的用户名和密码。请注意,输入密码时,它不会显示在那里,所以不要以为你的键盘坏了。您将收到登录成功消息。检查下图,成功登录时显示此消息。
接下来,我将推送镜像。要运行的命令是:
docker push yogyogi/apps:first
下图显示了此docker push命令的屏幕截图。
几分钟后,镜像将被推送到 docker hub。现在在 docker hub 中打开你的存储库,你会在那里找到这个推送的镜像。在下面给出的镜像中,我展示了这个东西。
指示 Azure 从 Docker Hub 拉取镜像
现在进入最后一部分,我将指示 Azure 从我的 docker hub 存储库中提取镜像。登录到您的 Azure 帐户并转到App Services,然后单击Create。
接下来,在Create Web App屏幕上,为您的应用命名。我给它起了个名字FirstDockerApp。对于Publish字段,选择Docker Container。
还要选择操作系统为Linux。然后单击下一步:Docker >按钮。
在下一个屏幕中,您必须在 Azure 中为您的ASP.NET Core应用程序进行一些Docker 设置。选择单容器,因为我们的应用是基于单容器的。对于Image Source选择Docker Hub,对于Image and tag字段添加yogyogi/apps:first因为这是我的 docker hub 上的内容。
单击查看 + 创建按钮。屏幕将显示您的 docker 设置以供查看。接下来单击创建按钮以创建您的应用程序并使其生效。
Azure 将开始部署您的应用程序,并在一两分钟内完成。Azure 将在完成后通知您。
之后转到您的应用服务,您将在其中看到该应用的网址。
单击 url,您的 ASP.NET Core 应用程序将在浏览器中打开。我在下面给定的镜像中显示了这一点。
持续部署
接下来,我将向您展示如何在 Azure 中进行持续部署。因此,在我创建的名为FirstDockerApp的应用服务中,转到部署中心设置。这里将Continuous deployment改为On并保存。
现在打开Index.cshtml页面并更改标题,如下所示。
接下来,重建镜像:
FirstDockerApp>docker build -t yogyogi/apps:first .
将镜像推送到 docker hub。
docker push yogyogi/apps:first
Azure 将自动检测镜像何时在 Docker Hub 中更新,并使用新镜像更新应用程序。
现在再次打开应用程序 URL,您会注意到更改。
结论
这样就完成了将Docker上的ASP.NET Core 应用程序部署到 Azure 的过程。我希望你喜欢学习本教程。请与他人分享这些知识。
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!