Docker 个容器,带有 ASP.NET 个核心库
Docker container with ASP.NET Core libraries
每次我使用 ASP.NET 核心应用程序构建 Dockerfile 时,它都是从网络 Nuget 商店下载程序集。
基本上我想用所有这些 ASP.NET 核心库(可能还有我经常使用的一些库)创建 docker 图像。
根据我的理解,我正在尝试重塑 GAC。
那么,我的问题是可以为 ASP.NET Core 使用 GAC 之类的东西吗?或者,我的第二个想法是,将 ASP.NET 核心库下载到容器,然后以某种方式在本地解析它。
我的目标是减少构建 docker 容器的时间。
更新
看来不可能
对于 ASP.NET 核心,只需使用 dnu 将您的应用程序构建到一个独立的文件夹中。
dnu publish
将输出生成项目并输出到/bin/output。您可以使用多种选项,包括指定输出路径、选择框架或运行时,甚至更改启动 web 的命令。
dnu publish --help
将为您提供更多详细信息。
如果您想包含一个 "package"(文件夹),其中包含您的应用程序、它的依赖项和 运行时间,那么您必须 运行:
dnu publish --runtime <active/runtime name> [--no-source]
--no-source
选项会编译所有内容并增加启动时间,但无法更改容器中的代码。
现在有来自 Microsoft 的官方 .NET Core Docker 映像,其中包含所有需要的库。
你可以在这里得到它:
https://hub.docker.com/r/microsoft/aspnetcore/
如果您需要自定义它,请不要忘记您可以修改容器并使用 "docker commit" 创建自定义图像。
每次我使用 ASP.NET 核心应用程序构建 Dockerfile 时,它都是从网络 Nuget 商店下载程序集。
基本上我想用所有这些 ASP.NET 核心库(可能还有我经常使用的一些库)创建 docker 图像。
根据我的理解,我正在尝试重塑 GAC。
那么,我的问题是可以为 ASP.NET Core 使用 GAC 之类的东西吗?或者,我的第二个想法是,将 ASP.NET 核心库下载到容器,然后以某种方式在本地解析它。
我的目标是减少构建 docker 容器的时间。
更新
看来不可能
对于 ASP.NET 核心,只需使用 dnu 将您的应用程序构建到一个独立的文件夹中。
dnu publish
将输出生成项目并输出到/bin/output。您可以使用多种选项,包括指定输出路径、选择框架或运行时,甚至更改启动 web 的命令。
dnu publish --help
将为您提供更多详细信息。
如果您想包含一个 "package"(文件夹),其中包含您的应用程序、它的依赖项和 运行时间,那么您必须 运行:
dnu publish --runtime <active/runtime name> [--no-source]
--no-source
选项会编译所有内容并增加启动时间,但无法更改容器中的代码。
现在有来自 Microsoft 的官方 .NET Core Docker 映像,其中包含所有需要的库。
你可以在这里得到它:
https://hub.docker.com/r/microsoft/aspnetcore/
如果您需要自定义它,请不要忘记您可以修改容器并使用 "docker commit" 创建自定义图像。