GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

.NET Core と Docker および Microsoft Container Registry の概要

Docker を使用して .NET Core や ASP.NET Core を使い始めるのは非常に簡単です。もちろん、Docker がインストールされている場合は、.NET Core を試すために何もインストールする必要はありません。

小さな .NET Core コンソール アプリを実行するには:

docker run --rm mcr.microsoft.com/dotnet/core/samples:dotnetapp

結果:

latest: Pulling from dotnet/core/samples
Hello from .NET Core!
...SNIP...

**Environment**
Platform: .NET Core
OS: Linux 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018

簡単な ASP.NET Core Web サイトを実行するには:

docker run -it --rm -p 8000:80 --name aspnetcore_sample mcr.microsoft.com/dotnet/core/samples:aspnetapp

ここでは localhost:8000 で実行しています

また、HTTPS 経由で Docker を使用して ASP.NET Core イメージをホストし、このイメージを使用するか、Windows コンテナーで ASP.NET Core アプリを実行することもできます。

Microsoft チームは現在、コンテナー イメージを MCR (Microsoft Container Registry) に公開しているため、Azure CDN を使用して、グローバルに近くにいるときにすばやくプルできることに注意してください。イメージは MCR から始まり、他のコンテナー レジストリにシンジケートできます。

新しいリポジトリは次のとおりです:

  • .NET Core ランタイムの依存関係 (.NET Core 自体ではなく、.NET Core が必要とするものだけです。独自のコピーを配布したいが、コンテナー イメージのサイズを小さくしたい場合に役立ちます)
  • .NET Core ランタイム (.NET Core アプリの実行に必要なもの)
  • .NET Core SDK (コンパイラなどすべてを含む)
  • ASP.NET Core ランタイム (ASP.NET Core Web アプリを実行するために必要なものすべて)

"docker pull" を行うと、.NET Core のタグ文字列を使用でき、サポートされている .NET Core バージョンで機能します

  • SDK: docker pull mcr.microsoft.com/dotnet/core/sdk:2.1
  • ASP.NET Core ランタイム: docker pull mcr.microsoft.com/dotnet/core/aspnet:2.1
  • .NET Core ランタイム: docker pull mcr.microsoft.com/dotnet/core/runtime:2.1
  • .NET Core ランタイムの依存関係: docker pull mcr.microsoft.com/dotnet/core/runtime-deps:2.1

たとえば、.NET Core 3.0 SDK を実行して、次のように操作できます。

docker run -it mcr.microsoft.com/dotnet/core/sdk:3.0 

Docker を使用して、ローカルのコンテナー内のポッドキャスト サイトで単体テストを実行しています。次に、テスト結果をボリューム マウントしてローカル フォルダーにダンプし、Visual Studio で検査します

docker build --pull --target testrunner -t podcast:test .
docker run --rm -v c:\github\hanselminutes-core\TestResults:/app/hanselminutes.core.tests/TestResults podcast:test

次に、Azure App Service for Containers で Docker コンテナーをホストするか、Azure Container Instances (ACI) を使用して 1 秒ごとに 1 回限りの課金インスタンスをホストします。

Docker で .NET Core を使用していますか?いかがでしたか?

スポンサー: 最新の JetBrains Rider を使用して、IDE から直接 GitHub プル リクエストを管理します。 Windows に統合されたパフォーマンス プロファイラーも役に立ちます。


Docker
  1. Linuxtacコマンドの使用を開始する

  2. DockerイメージのCMDとENTRYPOINTの違い

  3. .NET Core アプリが Docker コンテナーで実行され、XUnit で SkippableFacts が実行されていることを検出する

  1. GNOMELinuxデスクトップの使用を開始する

  2. Linuxでi3ウィンドウマネージャーを使い始める

  3. Dockerイメージとコンテナーを最新バージョンに更新する方法

  1. Ubuntu16.04でLXDコンテナの使用を開始する

  2. ビルド済みのDockerイメージ入門

  3. Dockerチュートリアル–LinuxでのDocker入門