.NET 5 docker上で動作する方法を配置します。


1、サイトを作成する
ASP.NET Core Webアプリケーションを作成し、Dockerサポートを有効にします。自動的にDocerfileファイルを作成してくれます。

2、Docerfileファイルを作成する
dockerfileはファイル形式のプロファイルであり、ユーザーはdockerfileを使用してカスタマイズされたミラーを迅速に構築することができる。行の命令文で構成されていて、最初のコメント行をサポートしています。
dockerfileのテーマは普通4つの部分に分かれています。
  • ベースミラー情報
  • メンテナ情報は、label命令
  • を使用する。
  • ミラー操作コマンド
  • 容器起動時に実行命令
  • 
    #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
    
    #Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
    #For more information, please see https://aka.ms/containercompat
    
    #FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
    #WORKDIR /app
    #EXPOSE 80
    #EXPOSE 443
    #
    #FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
    #WORKDIR /src
    #COPY ["AA.Mvc/AA.Mvc.csproj", "AA.Mvc/"]
    #RUN dotnet restore "AA.Mvc/AA.Mvc.csproj"
    #COPY . .
    #WORKDIR "/src/AA.Mvc"
    #RUN dotnet build "AA.Mvc.csproj" -c Release -o /app/build
    #
    #FROM build AS publish
    #RUN dotnet publish "AA.Mvc.csproj" -c Release -o /app/publish
    #
    #FROM base AS final
    #WORKDIR /app
    #COPY --from=publish /app/publish .
    #ENTRYPOINT ["dotnet", "AA.Mvc.dll"]
    
    #    
    #FROM microsoft/aspnetcore:5.0
    #FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS baseWORKDIR /app
    
    FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
    ##       
    #WORKDIR /app
    #
    ##        /app 
    #COPY . /app
    #
    ##     
    #EXPOSE 5005
    EXPOSE 80
    COPY . .
    #   AA.Mvc.dll   ASP.NET Core  ,     
    #ENTRYPOINT ["dotnet", "AA.Mvc.dll", "--server.urls", "http://*:5005"]
    ENTRYPOINT ["dotnet", "AA.Mvc.dll"]
    dockerfileファイルの命令説明:
  • FROM-作成したミラーのベースミラー
  • を指定します。
  • WORKDIR-プロファイルワークディレクトリ
  • EXPOSE-ミラー内サービスの傍受を宣言するポート
  • COPY-コンテンツをミラー
  • にコピーします。
  • ENTRY POINT-ミラーを起動するデフォルトの人口コマンド
  • 3、ウェブプロジェクトをコンパイルして発表する



    4、ミラーを構築し、容器を運転し、ブラウズする
    ミラーを作成します。コマンドdocker buildを使用できます。
    
    docker build -t core-mvc .

    このステップは少し遅くなるかもしれません。運行環境をダウンロードしたいので、我慢して待ってください。

    パラメータ分解:
  • -t---ミラー名を指定する
  • コマンドの末尾にある.---buildコンテキストが現在のディレクトリであることを示しています。デフォルトではdockerはコンテキストのルートディレクトリの下でDocerfileファイル
  • を見つけるために使用されます。
    ミラーリストを見てコマンドを入力してください。
    
    docker images

    コンテナの作成と起動、表示
    
    docker run --name netcore-mvc -d -p 50879:80 core-mvc
    docker ps -a

    パラメータの説明
  • −dは、コンテナ
  • をバックグラウンドでガード状態で実行することを示している。
  • −p外部ポートは、内部コンテナポートにマッピングされる。
  • --nameは容器の名前を指定します。もちろん指定しなくてもいいです。デフォルトは
  • を作成してくれます。
    ここで、もしdocker runが失敗したら、再度運転したら、メッセージ名が既に存在します。以下のコマンドを使ってコンテナを削除することができます。
    
    docker rm -f netcore-mvc
    最後のパラメータcoree-mvcは私たちが作成したミラーの名前です。以上の4つのステップを経て、ブラウザに住所を入力します。http://localhost:50879/図のように見る

    これまでの完全なプロジェクトは手作りで、dockerの容器の中で実行されます。
    この記事では.NET 5がdocker上で動作する方法を紹介します。より多くの関連記事を紹介します。NET 5が運営しているdockerの内容については、以前の記事を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。