Alpine에 .NET SDK 또는 .NET 런타임 설치

Important

.NET 8은 2023년 11월 14일에 릴리스되었습니다. 패키지 관리자 피드에 패키지가 표시되는 데 시간이 걸릴 수 있습니다.

.NET은 Alpine에서 지원되며 이 문서에서는 Alpine에 .NET을 설치하는 방법을 설명합니다. Alpine 버전의 지원이 종료되면 해당 버전에서는 .NET도 더 이상 지원되지 않습니다.

Docker를 사용하는 경우 .NET을 직접 설치하는 대신 공식 .NET Docker 이미지를 사용하는 것이 좋습니다.

.NET 앱을 개발하려는 경우 SDK(런타임 포함)를 설치합니다. 또는 앱을 실행하기만 하려면 런타임을 설치합니다. 런타임을 설치하려면 .NET 런타임과 ASP.NET Core 런타임이 모두 포함된 ASP.NET Core 런타임을 설치하는 것이 좋습니다.

dotnet --list-sdksdotnet --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_64, armv7, aarch64는 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

다음 단계