Alpine に .NET SDK または .NET ランタイムをインストールする

重要

.NET 8 は 2023 年 11 月 14 日にリリースされました。 このパッケージがパッケージ マネージャー フィード内に表示されるまでに時間がかかる場合があります。

.NET は Alpine でサポートされており、この記事では Alpine に .NET をインストールする方法について説明します。 Alpine のバージョンがサポート対象外である場合、.NET もそのバージョンでサポート対象外となります。

Docker を使用している場合は、.NET を自分でインストールするのではなく、公式の .NET Docker イメージを使用することを検討してください。

.NET アプリを開発する場合は、SDK をインストールします (これにはランタイムが含まれます)。 または、アプリを実行する必要があるだけの場合は、ランタイムをインストールします。 ランタイムをインストールする場合は、ASP.NET Core ランタイムをインストールすることをお勧めします。これには .NET と ASP.NET の Core ランタイムの両方が含まれているためです。

dotnet --list-sdks および dotnet --list-runtimes コマンドを使用して、インストールされているバージョンを確認します。 詳細については、.NET が既にインストールされていることを確認する方法に関するページを参照してください。

Alpine パッケージ マネージャーでは、一部のバージョンの .NET のインストールがサポートされています。 .NET パッケージが使用できない場合は、次のいずれかの別の方法で .NET をインストールする必要があります。

.NET 8 をインストールする

.NET 8 は、Alpine パッケージ リポジトリの既定のブランチではまだ使用できません。 edge ブランチを使用して.NET 8 をインストールします。 または、次のいずれかの方法で .NET 8 をインストールします。

.NET 7 をインストールする

SDK をインストールする

.NET SDK を使用すると、.NET を使用してアプリを開発できます。 .NET SDK をインストールする場合、対応するランタイムをインストールする必要はありません。 .NET SDK をインストールするには、次のコマンドを実行します。

sudo apk add dotnet7-sdk

ランタイムをインストールする

ASP.NET Core ランタイムを使用すると、ランタイムを提供しない .NET を使用して作成されたアプリを実行できます。 次のコマンドを実行すると、.NET の最も互換性の高いランタイムである ASP.NET Core ランタイムがインストールされます。 ターミナルで、次のコマンドを実行します。

sudo apk add aspnetcore7-runtime

ASP.NET Core ランタイムの代替手段として、ASP.NET Core サポートを含まない .NET ランタイムをインストールできます。それには、前のコマンドの aspnetcore7-runtimedotnet7-runtime で置き換えます。

sudo apk add dotnet7-runtime

.NET 6 をインストールする

SDK をインストールする

.NET SDK を使用すると、.NET を使用してアプリを開発できます。 .NET SDK をインストールする場合、対応するランタイムをインストールする必要はありません。 .NET SDK をインストールするには、次のコマンドを実行します。

sudo apk add dotnet6-sdk

ランタイムをインストールする

ASP.NET Core ランタイムを使用すると、ランタイムを提供しない .NET を使用して作成されたアプリを実行できます。 次のコマンドを実行すると、.NET の最も互換性の高いランタイムである ASP.NET Core ランタイムがインストールされます。 ターミナルで、次のコマンドを実行します。

sudo apk add aspnetcore6-runtime

ASP.NET Core ランタイムの代替手段として、ASP.NET Core サポートを含まない .NET ランタイムをインストールできます。 インストールするには、前のコマンドの aspnetcore6-runtimedotnet6-runtime で置き換えます。

sudo apk add dotnet6-runtime

サポートされているディストリビューション

次の表に、現在サポートされている .NET リリースと、それらがサポートされている Alpine のバージョンの一覧を示します。 これらのバージョンは、.NET のバージョンがサポート終了するか、Alpine のバージョンの有効期限が切れるまでサポートされます。

Alpine サポートされているバージョン パッケージ マネージャーで利用可能
3.19 .NET 8.0、.NET 7.0、.NET 6.0 .NET 7.0、.NET 6.0
3.18 .NET 8.0、.NET 7.0、.NET 6.0 .NET 7.0、.NET 6.0
3.17 .NET 8.0、.NET 7.0、.NET 6.0 .NET 7.0、.NET 6.0
3.16 .NET 7.0、.NET 6.0 .NET 6.0
3.15 .NET 7.0、.NET 6.0 なし

次のバージョンの .NET は、❌ サポート対象外となりました。

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

サポートされているアーキテクチャ

次の表に、現在サポートされている .NET リリースと、それらがサポートされている Alpine のアーキテクチャの一覧を示します。 これらのバージョンは、.NET のバージョンがサポート終了するか、Alpine のアーキテクチャがサポートされるまでサポートされたままです。 x86_64armv7aarch64 のみが、Microsoft によって正式にサポートされていることに注意してください。 その他のアーキテクチャはディストリビューション メンテナによってサポートされており、apk パッケージ マネージャーを使用してインストールできます。

アーキテクチャ .NET 6 .NET 7 .NET 8
x86_64 3.16、3.17、3.18 3.17、3.18 3.17、3.18
x86 なし None なし
aarch64 3.16、3.17、3.18 3.17、3.18 3.17、3.18
armv7 3.16、3.17、3.18 3.17、3.18 3.17、3.18
armhf なし None なし
s390x 3.17 3.17 3.17
ppc64le なし None なし
riscv64 なし None なし

プレビュー バージョンをインストールする

.NET のプレビューおよびリリース候補バージョンは、パッケージ リポジトリでは入手できません。 .NET のプレビューとリリース候補は、次のいずれかの方法でインストールできます。

プレビュー バージョンの削除

パッケージ マネージャーを使用して .NET のインストールを管理しているとき、以前、プレビュー リリースをインストールしている場合、競合が発生することがあります。 パッケージ マネージャーは、プレビューではないリリースを .NET の以前のバージョンとして解釈することがあります。 プレビューではないリリースをインストールするには、最初にプレビュー バージョンをアンインストールします。 .NET をアンインストールする方法の詳細については、「.NET ランタイムと SDK を削除する方法」を参照してください。

依存関係

パッケージ マネージャーを使用してインストールする場合、次のライブラリが自動的にインストールされます。 ただし、手動で .NET をインストールする場合、または自己完結型アプリを公開する場合は、次のライブラリがインストールされていることを確認する必要があります。

3.18 以降

  • ca-certificates-bundle
  • libgcc
  • libssl3
  • libstdc++
  • zlib
  • libgdiplus (.NET アプリで System.Drawing.Common アセンブリが必要な場合)

3.15 - 3.17

  • icu-libs
  • krb5-libs
  • libgcc
  • libintl
  • libssl3
  • libstdc++
  • zlib
  • libgdiplus (.NET アプリで System.Drawing.Common アセンブリが必要な場合)

依存関係をインストールするには、apk add コマンドを使用します。

.NET アプリで System.Drawing.Common アセンブリを使用している場合、libgdiplus もインストールする必要があります。 System.Drawing.Common は Linux でサポートされなくなったため、これは .NET 6 のみで機能し、System.Drawing.EnableUnixSupport ランタイム構成スイッチを設定する必要があります。

libgdiplus をインストールするには、次を実行します。

apk add libgdiplus

次のステップ