以下是将 VS2022 打包 Web API 项目成 Docker 镜像并推送到 Azure App 服务实现外网发布的步骤:

  1. 首先,确保已经安装了 Docker 和 Azure CLI,并且已经安装了 VS2022 和 Azure App 服务扩展程序。

  2. 打开 VS2022,打开 Web API 项目。右键单击项目,选择“添加”->“新建项”,然后选择“Docker 支持文件”。

  3. 确认 Dockerfile 文件已经在项目中生成。在 Dockerfile 文件的顶部添加以下内容:

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ['WebAPI.csproj', '']
RUN dotnet restore "./WebAPI.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "WebAPI.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "WebAPI.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ['dotnet', 'WebAPI.dll']

这个 Dockerfile 将使用最新的 .NET 5.0 作为基本镜像,将项目文件复制到容器中,并在容器中构建和发布 Web API。

  1. 打开终端或命令提示符,切换到 Web API 项目目录,并运行以下命令:
docker build -t your_image_name .

这个命令将使用 Dockerfile 来构建镜像。其中,your_image_name 是你想要给镜像起的名字。

  1. 构建完成后,可以运行以下命令来测试镜像是否正常:
docker run -p 8080:80 your_image_name

这个命令将运行容器,并将容器的 80 端口映射到主机的 8080 端口。可以在浏览器中输入 http://localhost:8080/api/values 来测试 Web API 是否可以访问。

  1. 接下来,登录 Azure CLI,并将镜像推送到 Azure 容器注册表。运行以下命令:
az login
az acr login --name your_registry_name
docker tag your_image_name your_registry_name.azurecr.io/your_image_name
docker push your_registry_name.azurecr.io/your_image_name

其中,your_registry_name 是你的 Azure 容器注册表的名称。

  1. 在 Azure 门户中,打开 App 服务资源,并选择“容器设置”。在“容器设置”下,选择“容器配置”选项卡,并配置以下设置:
  • Docker 映像:your_registry_name.azurecr.io/your_image_name
  • 端口:80
  1. 保存更改并等待应用程序重启。可以在应用程序概述中找到外部 URL,可以在浏览器中输入该 URL 来访问 Web API。

以上就是将 VS2022 打包 Web API 项目成 Docker 镜像并推送到 Azure App 服务实现外网发布的步骤。

VS2022 Web API 项目 Docker 化部署到 Azure App 服务实现外网发布

原文地址: https://www.cveoy.top/t/topic/lKm9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录