[ASP.NETコア3の枠組みシークレット]クロスプラットフォーム開発の経験:ドッカー

.NETのコア開発者のために、あなたはおそらくドッカーを使用していないが、あなたはドッカー聞いたことがないことはできません。ドッカーがGitHubの上で最も人気のあるオープンソースプロジェクトの一つであり、それはすべてのクラウドアプリケーションの礎石であることを、そして次世代インターネットへのアップグレードを主張しています。ドッカーは、最も人気のあるオープンソースコミュニティのプロジェクトになるためにわずか2〜3年で、誕生日の瞬間から、dotCloud会社のオープンソース製品です。完全にオープンソースの.NETのコアを採用するために、それが自然にドッカーのための完全なサポートを提供する必要があります。次の何のために、我々はあなたがすでにドッカーの基本的な理解を持っていると仮定して、あなたのマシン上で(Windowsの場合)ドッカーが既にインストールされています。

まず、ASP.NETコアアプリケーションを作成します

私たちは、ASP.NETのコアプログラムを作成し、ドッカーミラーにそれをコンパイルする方法について説明します、とミラーは、コンテナを作成するためドッカー環境では、アプリケーションの例を開始します。簡単にするために、我々は、ASP.NETコア・アプリケーションを作成するために、直接足場コマンドラインの形をとります。図1に示すように、我々は実行DOTNET新しいウェブ空のディレクトリASP.NETコアアプリケーションを作成するには:「HelloWorldの\ \プロジェクトD」コマンドを使用します。

1-23

第二に、定義Dokerfile

私たちは今、ASP.NETコアドッカーは、我々はルートディレクトリにプロジェクトを作成する必要のある鏡の中に作られた使用する必要がDockerfileのファイル(ファイル名はDokerfileで、拡張子なし)、およびファイル内の次の要素を定義します。我々はDockerfileの基本的な理解を持っている場合は、この文書の内容のために理解することは難しいことではありません。

#1は、画像をコンパイルし、公開するアプリケーションを指定します。
mcr.microsoft.com/dotnet/core/sdk FROMザ・: 3.0 ビルドAS 
 2 。(コンパイルしてパブリッシュ)指定された作業ディレクトリ
WORKDIR /アプリケーション
 3 .Csproj作業コピーディレクトリに/。アプリ、その後、DOTNETがインストールされているすべてのパッケージNuGetのリストアリストアを実行
.csproj ./ *コピーを
RUNのDOTNETの復元
 4 。作業ディレクトリ(/アプリ)にすべてのファイルをコピーし、コマンドDOTNETを実行/アプリ/アウトディレクトリにアプリケーションを公開公開
。./ COPY 
アウトランDOTNETは-c -oリリース公開
 5をドッカーコンパイルミラー。 5.1をベース画像を設定する。
mcr.microsoft.com/dotnet/core/aspnet FROM: 3.0 ASランタイム
 5.2 の設定(ラン)の作品を。ディレクトリとファイルは、サブディレクトリのうち、公開されないようにコピーされる 
WORKDIR /アプリ
コピー--fromを = /アプリケーション/ OUTを構築します。
 5.3 ASP.NET Coreアプリケーションがアドレスをリスニング環境変数の設定を使用して。
ENV ASPNETCORE_URLS HTTP:// 0.0.0.0:3721 
 5.4 DOTNETは、ASP.NETコア・アプリケーションを開始するためのコマンドを実行します。
ENTRYPOINTを[ "DOTNET"、 "HelloWorld.dll" ]

一時的にASP.NET MVCのコアアプリケーションのリリース、その作業ディレクトリ「/アプリ」の後にリソースを格納するための中間層(ビルド)を使用してこのDockerfile。具体的には、この層は「作られてマイクロソフト/ aspnetcore-ビルド中:2」基本イメージとして、私たちが最初に実行し、.csprojプロジェクトファイル(helloworld.csproj)現在の作業ディレクトリのコピーを定義する「DOTNET復元」コマンドは、すべての登録を復元しますこのプロジェクトファイル内のNuGetパッケージ。次は、現在のプロジェクトに現在の作業ディレクトリ内のすべてのファイルをコピーし、リソースの解放がディレクトリに保存された後、DOTNETの実装は、(リリースモード用)プロジェクト全体のコンパイルのリリースを公開「/アプリ/アウト」インチ

コンパイラは、実際のドッカー画像を生成するとき、私たちは「使用mcr.microsoft.com/dotnet/core/aspnet:3.0を伴うことにプレリリースアプリケーションに、基本イメージとしてすべてのファイルを」ので、我々は唯一公開する必要がありますその上で、現在の作業ディレクトリのコピー。次は監視アドレスASP.NET Coreアプリケーション(http://0.0.0.0:3721)環境変数を設定します。ENTRYPOINTの定義について(ENTRYPOINT [「DOTNET」、「 helloworld.dll」])、 我々は、コンテナが起動されると、「DOTNETのhelloworld.dll」コマンドは、ASP.NETコア・アプリケーションを起動するために実行されることを知っています。

第三に、ミラーを生成します

その後、実行し、(つまり、Dockerfileファイルが置かれているディレクトリです)良いDockerfileファイル定義の後、我々は、CMDコマンドプロンプトを開き、ルートディレクトリのプロジェクトへの変更「ドッキングウィンドウは、-tがHelloWorldAppを構築する。」コマンド、Dockerfileという名前のファイルを生成し、これを使用しますどのがHelloWorldApp「ドッカー画像として。

1-24

第四に、コンテナを起動

ドッカーイメージが正常に出て作成されているので、その後、残りの作業は、私たちは、このイメージのために対応するコンテナを作成し、最終的なASP.NET Coreアプリケーションがコンテナの開始によって直接行うことができます起動する必要があり、非常に簡単です。以下に示すように、我々は「実行ドッカーRUNは-p 8080 -d:3721 --name myappのがHelloWorldApp」コマンドを反対という名前myappに作成して開始するミラー(がHelloWorldApp)の前にドッカーを生成した( -名myappの)コンテナを。私たちは、外部からアプリケーションにアクセスするので、私たちは(8080 -p:3721)ポートを介してマッピングされているので、現在のホスト・マシンのポート8080のための3721の内部リスニングポートマッピングので、我々は、アドレスは「http:// localhostを:8080」を使用することで、これをアクセスしますASP.NETコアドッキングウィンドウコンテナキャリアアプリケーション。

1-25

[ASP.NETコア3の枠組みシークレット]クロスプラットフォーム開発の経験:Windowsの[パート]
[ASP.NETコア3の枠組みのシークレット]クロスプラットフォーム開発の経験:Windowsの[novellas]
[ASP.NETコア3の枠組みのシークレット]クロスプラットフォーム開発経験:Windowsの[次のページ]
[3コアASP.NETフレームワークシークレット]クロスプラットフォーム開発の経験:Mac OSの
[3コアASP.NETフレームワークシークレット]クロスプラットフォーム開発の経験:Linuxの
[3コアASP.NETフレームワークシークレット]クロスプラットフォーム開発経験:ドッカー

おすすめ

転載: www.cnblogs.com/artech/p/inside-asp-net-core-01-06.html