はじめに
Dockerfile のメンテナンスをしていて、あれ?このバージョンの.NET で利用可能なタグは何だっけか?を調べるためのメモです。
microsoft/dotnet から始まる.NET Core の古いリポジトリにある.NET Core 2.1 のイメージは利用できなくなっているので注意してください。.NET Core 2.1 のイメージは引き続きこの投稿にある mcr.microsoft.com から始まるリポジトリで提供されています。
.NET Core 2.1 container images will be deleted from Docker Hub
利用可能な.NET(Core)のコンテナリポジトリ
.NET の Docker イメージは DockerHub から確認できます。
コンテナイメージは Microsoft の Docker リポジトリにホストされているので下記のリポジトリから Pull できます。
.NET Core はもともと下記のリポジトリで公開されていましたが、.NET5 で.NET Framework と.NET Core が統合されたためコンテナリポジトリも変更されています。引き続き Pull できますが新しいコンテナイメージを作成する場合は使わない方が良いでしょう。
- mcr.microsoft.com/dotnet/core/sdk
- mcr.microsoft.com/dotnet/core/aspnet
- mcr.microsoft.com/dotnet/core/runtime
利用可能なタグ、OS の種類
.NET(Core)のバージョンごとに利用できる OS のベースイメージは結構違いがあって、それぞれ下記のようなタグで公開されています。
- https://mcr.microsoft.com/v2/dotnet/sdk/tags/list
- https://mcr.microsoft.com/v2/dotnet/aspnet/tags/list
- https://mcr.microsoft.com/v2/dotnet/runtime/tags/list
公式では Alpine は最新(.NET 5)以外はだいぶ絞られていますね。
mcr.microsoft.com/dotnet/sdk
で公開されているイメージの一覧を表にしたものです。
OS Version | .NET Core 2.1 | .NET Core 3.1 | .NET 5 | .NET 6 | .NET 7 | .NET 8 | .NET 9 |
---|---|---|---|---|---|---|---|
Debian 9 (stretch) | 2.1-stretch-slim | ||||||
Debian 10 (buster) | 3.1-buster-slim | 5.0-buster-slim | |||||
Debian 11 (bullseye) | 3.1-bullseye | 5.0-bullseye-slim | * 6.0-bullseye-slim | 7.0-bullseye-slim | |||
Debian 12 (bookworm) | * 6.0-bookworm-slim | 7.0-bookworm-slim | *8.0-bookworm-slim | 9.0-bookworm-slim | |||
Alpine 3.11 | 5.0-alpine3.11 | ||||||
Alpine 3.12 | 2.1-alpine3.12 | 3.1-alpine3.12 | 5.0-alpine3.12 | ||||
Alpine 3.13 | 2.1-alpine3.13 | 3.1-alpine3.13 | 5.0-alpine3.13 | 6.0-alpine3.13 | |||
Alpine 3.14 | 3.1-alpine3.14 | 5.0-alpine3.14 | 6.0-alpine3.14 | ||||
Alpine 3.15 | 3.1-alpine3.15 | 5.0-alpine3.15 | 6.0-alpine3.15 | 7.0-alpine3.15 | |||
Alpine 3.16 | 6.0-alpine3.16 | 7.0-alpine3.16 | |||||
Alpine 3.17 | * 6.0-alpine3.17 | 7.0-alpine3.17 | |||||
Alpine 3.18 | * 6.0-alpine3.18 | 7.0-alpine3.18 | *8.0-alpine3.18 | ||||
Alpine 3.19 | * 6.0-alpine3.19 | 7.0-alpine3.19 | *8.0-alpine3.19 | 9.0-alpine3.19 | |||
Ubuntu 18.04 (bionic) | 2.1-bionic | 3.1-bionic | |||||
Ubuntu 20.04 (focal) | 2.1-focal | 3.1-focal | 5.0-focal | * 6.0-focal | |||
Ubuntu 22.04 (jammy) | * 6.0-jammy | 7.0-jammy | *8.0-jammy | *9.0-jammy | |||
Ubuntu 24.04 (Noble) | *8.0-noble | *9.0-noble | |||||
cbl-mariner1.0 | 3.1-cbl-mariner1.0 | 5.0-cbl-mariner1.0 | 6.0-cbl-mariner1.0 | ||||
cbl-mariner2.0 | 6.0-cbl-mariner2.0 | 7.0-cbl-mariner2.0 | 8.0-cbl-mariner2.0 | 9.0-cbl-mariner2.0 |
*2024/04 現在公式サポートが有効なもの
また 5 以前であれば以前のリポジトリ(mcr.microsoft.com/dotnet/core/sdk
)からも Pull できます。こちらは Alpine9 などの古いイメージも引き続き公開されているようです。
OS Version | .NET Core 2.1 | .NET Core 3.1 |
---|---|---|
Debian 9(stretch) | 2.1-stretch | |
Debian 10(buster) | 3.1-buster | |
Alpine 3.9 | 2.1-alpine3.9 | |
Alpine 3.10 | 2.1-alpine3.10 | 3.1-alpine3.10 |
Alpine 3.11 | 2.1-alpine3.11 | 3.1-alpine3.11 |
Alpine 3.12 | 2.1-alpine3.12 | 3.1-alpine3.12 |
Ubuntu 18(bionic) | 2.1-bionic | 3.1-bionic |
Ubuntu 20(focal) | 2.1-focal | 3.1-focal |