Earn More by Sharing What You Love
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Tim Corey
9m 57s
容器是一种功能强大的工具,但对于许多开发人员来说,将 C# 应用程序放入容器的想法会让他们感到不知所措。 手动设置 Dockerfile 和处理依赖关系可能比较复杂。 不过,正如 Tim Corey 在视频中解释的那样,.NET CLI 简化了这一过程,使开发人员无需 Dockerfile 即可将应用程序容器化。
在本文中,我们将使用 Tim 的视频"使用 .NET CLI 轻松实现 C# 应用程序的容器化"中的逐步方法,深入了解 C# 应用程序的容器化。根据 Tim 的指导,我们将了解如何毫不费力地将 .NET 应用程序发布到 Docker 容器中。
在视频的开头,Tim 解释了容器化的必要性。 他强调,虽然容器是一个很好的工具,但设置 Dockerfile 并正确配置的过程可能很复杂。
Tim 介绍了一种使用 .NET CLI 的简单方法,而不是手动创建 Dockerfile。 这种方法允许开发人员创建容器化应用程序,而无需手动编写 Dockerfile。
Tim 还说明,该视频是他的 10 分钟培训系列的一部分,该系列侧重于快速有效地介绍技术主题。
Tim 首先以一个最简单的 Web API 应用程序为例。 应用程序包含一个名为/messages的单一端点,返回一些数据。
为了在容器化之前演示应用程序的行为,Tim 在本地运行了该应用程序。 通过访问/messages端点,他确认它在容器外正常工作。
在进行容器化之前,他还要检查:
这样可以确保在创建新容器时,我们可以清楚地看到变化。
为了将应用程序容器化,Tim 移动到项目目录下的命令行。 然后,他运行以下命令:
Tim 将对命令的每个部分进行分解:
-o:Linux → 发布应用程序以支持基于Linux的容器。-a:x64 → 指定架构为64位。-p:PublishProfile=DefaultContainer → 使用默认容器设置。-c:Release → 以发布模式发布应用程序以提高性能。Tim 强调,Linux 容器优于 Windows 容器,因为 Windows 容器主要是作为 .NET Framework 应用程序的桥梁。
一旦执行了发布命令,Tim 就会解释说,.NET CLI 会自动确定必要的配置,并将所有内容打包到一个容器中。 他指出
发布后,他检查Docker Desktop,并确认已创建新的容器镜像background-demo。 初始容器大小为 221 MB。
Tim 向观众保证,以后可以缩小翻译篇幅。
为了测试容器化应用程序,Tim 直接从 Docker Desktop 启动容器。由于还没有正在运行的容器,他点击了 "运行 "并设置了一个可选设置:
启动后,他使用网络浏览器访问应用程序。 最初,访问根URL会出现404错误,但导航到/messages成功显示预期数据。
蒂姆强调了重要的一点:
他还指出,由于应用程序是在发布模式下发布的,因此 Swagger UI 默认是禁用的。
在这一点上,默认容器大小为 221 MB,Tim 认为这是相当大的。 为了缩小篇幅,他引入了一个浅色底图。
通过修改jammy-chiseled,该镜像是一个基于Ubuntu的小型镜像:
builder.Services.Configure<ContainerOptions>(options => options.ContainerFamily = "jammy-chiseled");builder.Services.Configure(Of ContainerOptions)(Sub(options) options.ContainerFamily = "jammy-chiseled")然后,他重新运行发布命令,并在重建容器后再次检查映像大小。
新图片大小为 113 MB,减少了约 100 MB! 尽管尺寸较小,但应用程序的功能完全相同。
Tim 演示删除容器以清理工作区。 不过,Docker 镜像仍然可用,因此在需要时可以重新创建容器。
他强调,一旦构建了容器,就可以:
Tim 在视频最后强调了使用 .NET CLI 进行容器化的主要优势:
1.无需 Dockerfile - .NET CLI 会自动处理一切。
2.过程简单快捷--只需一个命令,应用程序就能被容器化。
3. 更小、更优化的镜像 – 使用jammy-chiseled减少容器大小。
4.无缝部署 - 容器可以推送到各种云服务。
Tim 使用 .NET CLI 对 C# 应用程序进行容器化的方法简单、快速、有效。按照他的方法,开发人员无需丰富的 Docker 知识就能创建和优化容器。
通过利用 Linux 容器、优化的基础镜像和精简的发布命令,这项技术可以让开发人员以最小的工作量高效地将应用程序容器化。
如果您想深入了解,请务必查看 Tim Corey 的视频。 它提供了整个过程的清晰、循序渐进的演练。
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!
Join our newsletter, you’ll get exclusive access on article updates. We value your privacy