首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

.NET核心应用程序(引擎) | .NET Core application (Engine)

介绍

这个例子演示了如何 dockerize 一个 ASP.NET Core 应用程序。

为什么要构建 ASP.NET Core?

  • 开源
  • 在 Windows,MacOS和Linux 上开发并运行跨平台的 ASP.NET Core 应用程序
  • 非常适合现代基于云的应用程序,如 Web 应用程序,IoT 应用程序和移动后端
  • ASP.NET Core 应用程序可以在 .NET Core 或完整的 .NET Framework上运行
  • 旨在为部署到云或内部部署的应用程序提供优化的开发框架
  • 具有最小开销的模块化组件在构建解决方案时保持灵活性

先决条件

此示例假定您的计算机上已经有一个 ASP.NET Core应用程序。如果您不熟悉 ASP.NET,则可以按照简单教程初始化项目或克隆ASP.NET Docker示例

为 ASP.NET Core 应用程序创建一个 Dockerfile

  1. 在你的项目文件夹中创建一个Dockerfile
  2. 将以下文本添加到您的Dockerfile的 Linux 或 Windows Containers 中。下面的标签是多拱形的,意思是它们将取决于 Windows 或 Dock 的容器,具体取决于在 Docker for Windows 中设置的模式。了解更多关于交换容器
  3. Dockerfile假定您的应用程序叫做aspnetapp。更改Dockerfile为使用项目的 DLL 文件。
代码语言:javascript
复制
FROM microsoft/aspnetcore-build:2.0 AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM microsoft/aspnetcore:2.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "aspnetapp.dll"]
  • 为使您的构建环境尽可能小,请将.dockerignore文件添加到项目文件夹并将以下内容复制到其中。
代码语言:javascript
复制
bin\
obj\

构建并运行 Docker 镜像

  1. 在命令提示符下导航到您的项目文件夹。
  2. 使用以下命令来构建和运行 Docker 镜像:
代码语言:javascript
复制
$ docker build -t aspnetapp .
$ docker run -d -p 8080:80 --name myapp aspnetapp

查看从容器运行的网页

  • 转到 localhost:8080以在 Web 浏览器中访问您的应用程序。
  • 如果您使用的是 Nano Windows容器 并且没有更新到 Windows Creator Update,则会出现一个影响 Windows 10 如何通过“NAT”(网络地址转换)与 Containers 进行对话的错误。您必须直接点击容器的 IP。您可以通过以下步骤获取容器的IP地址:
    1. docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" myapp
    2. 复制容器的 IP 地址并粘贴到浏览器中。(例如172.16.240.197

进一步阅读

扫码关注腾讯云开发者

领取腾讯云代金券