将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

作者 : 慕源网 本文共2305个字,预计阅读时间需要6分钟 发布时间: 2022-01-25 共152人阅读

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

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

记住docker hub是一个包含 docker 镜像的免费注册表。这是一种创建、管理和交付镜像的简单方法。如果您到现在还没有这样做,您必须在上面创建您的免费帐户。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure本教程是Docker系列ASP.NET Core 应用程序的一部分。

部署程序

dockerized 应用程序的部署过程包含 3 个步骤。

  • 第 1 步– 首先,我将在本地 docker 环境中构建此应用程序的 docker 镜像。
  • 第 2 步– 接下来,我将此镜像推送到位于 docker hub 上的存储库。
  • 第 3 步– 最后,我将指示 Azure 从 docker hub 拉取镜像并使应用程序上线。

我已经在下图中说明了这个过程:

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

在本地构建 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 推送此镜像的位置。第一个是镜像的标签。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

标记镜像很有帮助,因为我们可以将多个镜像保存在一个存储库中。例如,我可以将另一个名为yogyogi/apps:second的镜像推送到同一个存储库中。

使用“docker push”命令将镜像推送到 docker hub

现在登录到您的 docker hub 帐户并以apps的名称创建一个新的存储库。创建存储库后,它将显示将本地镜像推送到它的 push 命令。我的命令是。

docker push yogyogi/apps:tagname

回想一下,我已将镜像标记为“first”,因此我的推送命令将是:

docker push yogyogi/apps:first

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

将镜像推送到 docker hub 需要身份验证。也就是说,您应该在 docker Desktop上登录到您的 docker hub 帐户。右键单击docker Desktop,您可以查看您是否已登录。见下图:

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

假设您没有登录,那么在这种情况下,您可以从 docker Desktop本身登录。

另一种方法是通过命令提示符窗口登录。登录命令是:

docker login

它将询问您 docker hub 帐户的用户名和密码。请注意,输入密码时,它不会显示在那里,所以不要以为你的键盘坏了。您将收到登录成功消息。检查下图,成功登录时显示此消息。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

接下来,我将推送镜像。要运行的命令是:

docker push yogyogi/apps:first

下图显示了此docker push命令的屏幕截图。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

几分钟后,镜像将被推送到 docker hub。现在在 docker hub 中打开你的存储库,你会在那里找到这个推送的镜像。在下面给出的镜像中,我展示了这个东西。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

指示 Azure 从 Docker Hub 拉取镜像

现在进入最后一部分,我将指示 Azure 从我的 docker hub 存储库中提取镜像。登录到您的 Azure 帐户并转到App Services,然后单击Create

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

接下来,在Create Web App屏幕上,为您的应用命名。我给它起了个名字FirstDockerApp。对于Publish字段,选择Docker Container

还要选择操作系统为Linux。然后单击下一步:Docker >按钮。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

在下一个屏幕中,您必须在 Azure 中为您的ASP.NET Core应用程序进行一些Docker 设置。选择单容器,因为我们的应用是基于单容器的。对于Image Source选择Docker Hub,对于Image and tag字段添加yogyogi/apps:first因为这是我的 docker hub 上的内容。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

单击查看 + 创建按钮。屏幕将显示您的 docker 设置以供查看。接下来单击创建按钮以创建您的应用程序并使其生效。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

Azure 将开始部署您的应用程序,并在一两分钟内完成。Azure 将在完成后通知您。

之后转到您的应用服务,您将在其中看到该应用的网址。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

单击 url,您的 ASP.NET Core 应用程序将在浏览器中打开。我在下面给定的镜像中显示了这一点。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

持续部署

接下来,我将向您展示如何在 Azure 中进行持续部署。因此,在我创建的名为FirstDockerApp应用服务中,转到部署中心设置。这里将Continuous deployment改为On并保存。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

现在打开Index.cshtml页面并更改标题,如下所示。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

接下来,重建镜像:

FirstDockerApp>docker build -t yogyogi/apps:first .

将镜像推送到 docker hub。

docker push yogyogi/apps:first

Azure 将自动检测镜像何时在 Docker Hub 中更新,并使用新镜像更新应用程序。

现在再次打开应用程序 URL,您会注意到更改。

将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

结论

这样就完成了将Docker上的ASP.NET Core 应用程序部署到 Azure 的过程。我希望你喜欢学习本教程。请与他人分享这些知识。


慕源网 » 将基于 Docker 的 ASP.NET Core 应用程序部署到 Azure

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录