LinuxコンテナをFreeBSDで動かす「Linux containers on FreeBSD」、containerd 1.7.0で正式サポート
コンテナランタイムのもっとも代表的な実装としてCloud Native Computing Foundation(CNCF)が開発を主導するのが「containerd」です。
その最新版として3月11日付でリリースされた「containerd 1.7.0」に「Linux containers on FreeBSD」が正式な機能として組み込まれました。
Linux containers on FreeBSDは、LinuxコンテナをFreeBSD上で実行する際に、FreeBSDのファイルシステムの代わりLinuxファイルシステムにマウントする機能だと説明されています。
FreeBSD上でLinuxコンテナを実行可能に
FreeBSDには以前からシステムコールのリダイレクトなどによってLinuxをエミュレートすることでLinuxバイナリを実行できるLinux互換機能が実装されています。
また、Linuxファイルシステムとしてext2/ext3/ext4が搭載されています。
Linux互換機能により、FreeBSD上でLinuxバイナリを実行することは可能ですが、正常な動作にはLinuxファイルシステムへのアクセスが欠かせません。
「Linux containers on FreeBSD」機能は、このFreeBSDのコンテナ環境でLinuxバイナリを実行する場合に、FreeBSDのファイルシステムの代わりLinuxファイルシステムにマウントすることで、Linuxコンテナを問題なく実行できるようにするものです。
GitHub上でプルリクエストがマージされるまでのやりとりにおいて、レビュアーのsamuelkarp氏は、FreeBSDのコンテナ型仮想化機能であるFreeBSD jailを利用してコンテナ環境を実現する「runj」を用いて、FreeBSD上で「Linux containers on FreeBSD」機能の動作テストをし、成功したことを報告しています(「runj」も同氏が開発しているものです)。
FreeBSDはDockerが登場するずっと以前から、コンテナ型仮想化機能であるFreeBSD jailによる優れたコンピューティングリソースの分割機能を提供しています。そのため、ベアメタルサーバに複数ユーザーを収容するホスティングサービスなどで現在でも多く採用されています。
今後そうしたホスティングサービスのオプションなどで、「Linux containers on FreeBSD」機能を利用したLinux互換のコンテナサービスの提供などが登場してくることになるのでしょうか。
あわせて読みたい
キャッシュレス決済サービスを支えるデータベース基盤として計画停止は許されなかった。そこで選ばれたNewSQLデータベースとは? [PR]
≪前の記事
GitHub、すべての開発者に二要素認証の要求開始、来週月曜日から1年かけて展開