fbpx

Red Hat Enterprise Linux 8以降でDocker Engineを利用するには

Red Hat Enterprise Linux (以降RHEL)の周りのホットな話題

Red Hat社の「8に上げてね」キャンペーンが開始されましたね。2024/6/30に RHEL 7 の通常サポートが終了します。

メールや電話などで連絡を受けた方も多いのではないでしょうか?

わたしもその一人です。

弊社クリエーションラインの取り扱い製品のサポートを提供するために RHEL のライセンス契約をさせていただいていて、検証環境の構築などに利用しています。現状ではエンタープライズ向けの Linuxディストリビューションでは、RHEL が頭一つ抜き出ており、検証などもそちらの環境を利用する事が必要となっています。お客様の環境に合わせて検証環境を構築し、再現試験を行い、OSのバグなのか、プロダクトのバグなのかを切り分けたり。修正パッチが問題なく動作しているか検証したり、発生しているバグがRHELで既に報告されていないか調べたりなど幅広く活用させていただいています。

話題の本筋ではありませんが、RHEL 周りのホットな話題としては、7 のサポート切れ連絡と時を前後して、ソース公開のポリシーの変更も行われました。(こんな記事

こんな反応や、こんな反応や、こんな反応などがあり、Red Hat社もやこんな反論をしたり、はたまたこんなはなしや、こんなはなしなどなど、現在進行形(執筆時点は7月中旬)で盛り上がって(?)います。

色々な反応はありますが、少なくとも、今後は、RHEL互換と称してきた様々なベンターの OS の RHEL との互換性が、今より低下するのではないかと容易に想像できます。(そんな事態にはさせないという各社の頑張りは、本当に尊敬します。)

また、純粋な OSS プロジェクトにとっては、動作確認するために RHEL 互換ディストリビューションを利用していたものが、RHEL を利用しないとダメっぽいとなると、動作確認リストから RHEL がなくなるモノも出てくるかもしれませんね。

因みに、Mirantis社では、コンテナ製品の契約者様向けに、無償で Rocky Linux を提供していて、コンテナ動作に関連するOSサポートも提供しています。Mirantis社のコンテナ製品を契約して頂ければ、OSサポートも追加費用なしでワンストップで手に入ります。Rocky Linux のサポートについて詳しく聞きたいというかたは、こちらまでお問い合わせください。

IBM社に買収されてからの一連の流れを見ると、明らかに市場を刈り取りに来ており、今後どのような変化が市場でおきるのかを、注意深く見守っていく必要がありそうですね。とはいえ、クラウド利用と同様に、自社の未来のために、ベンダーロックインについてどのようなスタンスをとるのかを検討したうえで、IT投資を考えていくという今までの流れと方向性は変わりないです。

ITのおかれた環境の変化が激しくなるにつれ、「みんなが使っているから安心だ」という時代ではなく、少しでも早くビジネスを差別化するために何をどのように利用するのかを考え続ける時代へと変化してきています。

幸いなことは、選択肢が豊富に用意されているという事ではないでしょうか。(多すぎてわからんという声も聴きますが、そういう時は、弊社クリエーションラインのプロフェッショナルサービスをご活用ください。)

このような市場の変化をとらえつつ、今回は「RHEL 8 以降で Docker Engine を動かす」について詳しく見ていきます。

7 から 8 以降への移行準備は万端ですか?

弊社のお客様でも、RHEL 7 で Docker Engine を動かしていて、8以降に移行しないといけないという声をよくお聞きする様になりました。

弊社経由で Enterprise版の Docker Engine である Mirantis Container Runtime(以降MCR)をご利用いただいているお客様につきましては、プロアクティブチケットを通してアップデートに関する情報提供とサポートを提供させていただいております。まだ利用されていないお客様がおられましたら、サポートサイトからお問い合わせください。

また、Red Hat社のリポジトリから Docker Engine をインストールして、Docker を利用して頂いているお客様も多くいらっしゃいます。じつはこちらは、コミュニティ版(以降Docker-CE)ではなく、Red Hat社がコミュニティ版の Docker Engine を Fork して独自に実装したパッケージとなっていました。

当時、Docker社と Red Hat社でDockerの開発方針に差が出てしまい、Red Hat社はForkするという判断を行ったと聞いています。( Docker社側の理由は当時聞いていていたのですが、まぁ当事者からの説明なので話半分という事で詳細は割愛します。)

整理すると、現在、RHEL で Docker Engine を利用しているパターンは、次の3パターンと考えられます。

  1. RHELのリポジトリからインストールできる Red Hat版の Docker Engine を利用している。
  2. Docker-CE(CentOS用パッケージ) を自分でインストールして利用している。
  3. MCR( Enterprise版 Docker Engine )を契約して利用している。

RHEL 8 以降では、どのように変わったのでしょうか?

RHEL 8 以降では、リポジトリに Docker Engine が含まれなくなりました。(リンク

Red Hat社の方針は、「互換性のある Podman を用意しているから問題ないでしょ。」という事です。

ですので、Docker Engine を動かすために、1番の「RHEL のリポジトリからインストールする」手段は利用できなくなっています。

シンプルなコンテナを動かすだけならば、Podman でも特に問題になりませんし、Red Hat社がサポートを提供してくれるはずです。しかしながら、動作させたいアプリケーションがコンテナイメージで提供されている様なケースでは、動作環境としてDocker Engine と明記されている場合もあり、その場合、コンテナエンジンより上の部分について、自己責任で動作させざる得ない様な状況を生んでしまいます。

そんな厳密に見ているプロダクトはないんじゃない?と思われるかもしれません。一つの例としては、Red Hat社のサポート規約では、コンテナランタイムを変更するとその上で動作する全てのRed Hat社の提供するアプリケーションのサポート(例えば、JBossを利用したコンテナイメージのJBoss部分のサポートなど)が提供されないと読むことができます。(※そんなことないよという指摘がありましたら是非ご連絡ください。よろしくお願いします。)

また、Docker固有の機能である Swarmを利用してサービスを展開されている場合、選択肢がなくなる事を意味します。

では、2番目のDocker-CEをインストールして利用するケースはどうでしょうか?

この場合、OSSですので、全てを自己解決する必要があります。

良くある問合せでも「Docker-CEでも動きますか?」とか、「Docker-CEをRHELにインストールできますか?」とか、「利用規約はどうなっていますか?」などをお受けする事もあるのですが、そういう事も含めて自己責任で調査・判断してくださいという回答となってしまいます。

また、前出のForkの件と時を同じくして、Docker-CEの動作環境としてRHEL(正確にはIA版のRHEL)は削除されました。(現時点では、CentOSのパッケージを代わりにインストール・利用するように案内されています。ただし、CentOS 7もRHEL 7と同じく2024/6/30でサポート終了となります。CentOS 8は2021/12/31に既にサポート終了しており、以降の CentOS Stream は Fedora と RHEL の中間に当たる開発・検証版のような存在となっているため、今後も CentOS を本番環境に利用し続けることは難しいでしょう)

Community版の動作環境リンク

ですので、現時点では RHEL に Docker-CE をインストールすること自体がそもそも自己責任となります。

Docker Engineを動かしたいなら

これまでの記述の通り、RHEL 8以降でDocker Engineを動かすために取れる現実的な解決策として、MCR(Enterprise版Docker Engine)をご利用いただくという選択肢が残ります。

Enterprise版の動作環境のリンク

MCRをご利用いただければ、Red Hat社からOSのサポートを得られ、かつ、Mirantis社(とクリエーションライン)からコンテナランタイムのサポートを得られ、開発ベンダからアプリケーションコンテナイメージのサポートが問題なく得られます。

また、RHELでコンテナしか動かしていない場合、RHEL 7から8や9にアップデートするよりも、Mirantis Rocky Linuxへ移行してMCRを動かすことにより、OSのサポートも受けられ、追加のOS費用もかからず、トータルのコストを削減する事が可能です。

選択肢として…

はじめに記述した通り、RHELのポリシーの変更などにより、OSS周辺のビジネス環境がどのように変化していくのかは不透明になりつつあります。一昔前の様に、「RHELを利用していれば安心」と一概に言えなくなることもありうる状況の中で、安定してアプリケーションを動かすためにどのようなソフトウェアスタックを選択して運用するのかを検討するタイミングとしてはRHEL 7のサポート終了というタイミングは良い契機になるのではないでしょうか。

RHEL 7でコンテナ環境を構築してアプリケーションを動作させていたお客様は、RHEL 8以降へのアップデート計画の中でMCR/MKEのご利用についても検討してみてください。

また、Mirantis社がサポートを提供している、Mirantis Rocky Linux+MCR(MKE)の組み合わせも、OS費用の追加コスト無しで構築する事が可能です。移行対象として有力な候補としてご検討ください。

Mirantis社のコンテナ製品について詳しく聞きたいというかたは、こちらまでお願いします。

New call-to-action

新規CTA