サーバーソフトウェア更新 2
VMで稼働させていたサービスをコンテナに置き換えることに決定したので、次は新環境のソフトウェア選定です。
コンテナの稼働に特化したOSとなればFedora CoreOSやProxmox Virtual Environmentなどが存在しますが、今回は私が扱いに慣れているAlpine Linuxを使うことにしました。
コンテナ技術絡みでは、Alpine Linuxはコンテナイメージを軽量に作成できるベースイメージとして広まったように思います。この軽量という特徴はコンテナを動かす基盤として使用するにも都合が良いと考えられます。
なお、Alpine Linuxは軽量にするために他のディストリビューションとは標準Cライブラリや標準コマンドの非互換があり、稼働させるソフトウェアによっては相性が悪い場合があります。これはコンテナイメージのベースとして使用する際は場合によって無視できない要因ですが、コンテナを動かすだけであれば問題になることはないでしょう。
パッケージリポジトリに登録されているパッケージは充分な種類があり、パッケージのバージョンについても随時更新されているようです。何はともあれ必要になるDocker CEが(communityリポジトリではありますが)収録されているのは便利です。
もう一つOS選定に関わる要素がデバイスのサポートです。今回のソフトウェア更新は、使用中のRAIDカードがESXiの最新版でサポートされなくなってしまったことがきっかけの一つでした。問題のRAIDカードはLinuxカーネルに含まれているドライバが対応していたため特に手を加えることもなく動作しました。この件についてはLinuxベースであるCoreOSやProxmox VEでも同様に対応しているものと思います。1
また、コンテナを使いますがハードウェアは1台のみ、オーケストレーションもしないと割り切っているので、通常のLinux上で直接コンテナを実行する形態で充分と判断しています。流石に落ちたらそのまま放置という訳にもいきませんので、docker composeで死活監視を含め管理する想定です。
カーネルのバージョンやビルドオプションに依存するでしょうし、各OSについて検証してはいないので正確にはわかりません。 ↩︎