?
Ce document utilise Manuel du site Web PHP chinois Libérer
這個例子演示了如何 dockerize 一個 ASP.NET Core 應用程序。
開源
在 Windows,MacOS和Linux 上開發(fā)并運行跨平臺的 ASP.NET Core 應用程序
非常適合現代基于云的應用程序,如 Web 應用程序,IoT 應用程序和移動后端
ASP.NET Core 應用程序可以在 .NET Core 或完整的 .NET Framework上運行
旨在為部署到云或內部部署的應用程序提供優(yōu)化的開發(fā)框架
具有最小開銷的模塊化組件在構建解決方案時保持靈活性
此示例假定您的計算機上已經有一個 ASP.NET Core應用程序。如果您不熟悉 ASP.NET,則可以按照簡單教程初始化項目或克隆ASP.NET Docker示例。
在你的項目文件夾中創(chuàng)建一個Dockerfile
。
將以下文本添加到您的Dockerfile
的 Linux 或 Windows Containers 中。下面的標簽是多拱形的,意思是它們將取決于 Windows 或 Dock 的容器,具體取決于在 Docker for Windows 中設置的模式。了解更多關于交換容器。
Dockerfile
假定您的應用程序叫做aspnetapp
。更改Dockerfile
為使用項目的 DLL 文件。
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.0WORKDIR /app COPY --from=build-env /app/out .ENTRYPOINT ["dotnet", "aspnetapp.dll"]
為使您的構建環(huán)境盡可能小,請將.dockerignore
文件添加到項目文件夾并將以下內容復制到其中。
bin\ obj\
在命令提示符下導航到您的項目文件夾。
使用以下命令來構建和運行 Docker 鏡像:
$ 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地址:
跑 docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" myapp
復制容器的 IP 地址并粘貼到瀏覽器中。(例如172.16.240.197
)
ASP.NET Core
Microsoft ASP.NET Core on Docker Hub
ASP.NET Core with Docker Tools for Visual Studio