マイクロソフト、「.NET 7」にDockerコンテナイメージ生成機能を搭載、Dockerファイル不要に
今回は「マイクロソフト、「.NET 7」にDockerコンテナイメージ生成機能を搭載、Dockerファイル不要に」についてご紹介します。
関連ワード (下記、互換性、今後等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
マイクロソフトは現在開発中のアプリケーションフレームワーク「.NET 7」に、Dockerコンテナの生成機能を搭載する予定であることを明らかにしました。
これまで.NETアプリケーションをDockerコンテナ化するには、Dockerコンテナイメージの生成に必要なファイルを記述したDockerファイルを作成し、ビルドツールを用いて生成する必要がありました。
新たに.NET 7で搭載されるDockerコンテナイメージの生成機能ではDockerファイルの作成などは不要で、標準のdotnetコマンドを実行することで簡単にDockerコンテナイメージが生成されるようになります。
Linux版のDockerイメージ生成に対応、今後Windows版の開発も進める
下記はマイクロソフトが紹介した、.NET 7を用いてDockerコンテナイメージを生成し、実行するまでのコマンドのサンプルです(一部横幅が足りなくて改行されているコマンドがあります)。これだけ簡単に生成から実行まで可能だと示されています。
今回、Dockerコンテナイメージのターゲットとなるのはx86プロセッサ向けのLinux版です。ベースイメージのLinuxディストリビューションにはDebianが選択されています。
Debianが選択された理由として、「We think that the choice of defaulting to the Debian-based versions of the runtime images is the best choice for broad compatibility with most applications’ needs.」(Debianベースのランタイムイメージを選択したのは、これが幅広い互換性とアプリケーションのニーズにとって最適だと私たちが考えたからです)と説明しています。
.NET 7の正式リリースは今年(2022年)11月。そのときにはこれらの機能が搭載される予定です。マイクロソフトは今後、リモートレジストリへのプッシュ機能、Windows版のDockerコンテナイメージやx64以外のプロセッサ対応も進めていくとしています。
.NET 7はネイティブコンパイラも搭載予定
.NET 7はネイティブコンパイラの搭載も計画されており、開発が進んでいます。.NET 6で長期サポート版(LTS)が登場し、.NET MAUIも正式リリースとなったことで.NET Framework、.NET Core、Xamarinの統合が一段落したといえる.NETは、次の.NET 7でいろいろと強化されていくことになりそうです。
参考:マイクロソフト、次の.NET 7にネイティブコンパイラを搭載する見通しを明らかに