仮想マシンのように使えるコンテナ

2022年09月20日 火曜日


【この記事を書いた人】
y-morimoto

九州支社技術部(九州・中四国事業部)所属。自作パソコン好きで、ハードウェア選定の仕事を与えると喜ぶ。最近は何でもコンテナにしたい教に入信し、コンテナ化の機会を虎視眈々と狙っている。

「仮想マシンのように使えるコンテナ」のイメージ

こんにちは、九州支社技術部(九州・中四国事業部)所属のy-morimotoです。

コンテナ使いたいけど、今までの構築手順がそのまま使えないので、いまいち導入できない。
そんなあなたにお勧めのコンテナ「仮想マシンのように使えるコンテナ」が実はあるんです。

それは「Linux Containers (LXC)」です。

1.LXCとは

Docker が アプリケーションコンテナ化 だとしたら、LXC は OSコンテナ化 といったイメージになります。
(Kernelプロセス部分は共用で独立していないので、実際はOS丸ごとでは無いのですが)

OS丸ごと風なので、使用感が仮想マシンに近くなるというわけです。
ただ、コンテナの強力な部分はしっかりと残っています。

2.リソースの消費が少ない

Kernelプロセス部分は共用なので、仮想マシンに比べてLXCは起動直後のCPU/MEM消費はかなり少なく、ほぼアプリケーションプロセス分だけで済みます。

また、DISK消費もベースOSデータを共用して、実使用部分だけの差分消費なので、大量に立ててもかなり少ないです。

 

ちなみに、LXCの起動については、OSまるごと風という事で複数プロセスなので、Dockerコンテナに比べるとどうしても時間がかかりますが、それでも十数秒程度です。

3.ネットワークの構成

LXCでは仮想NICで物理ネットワークに直接ブリッジ接続する構成になる点も、コンテナネットワーク独特の知識が不要になるので、嬉しいポイントかもしれません。

ただ、Dockerのコンテナネットワークは、コンテナを動かしても実ネットワークに影響が無いという点で、使ってみると便利に感じる良い実装ではあります。

4.環境の準備は?

各Linux OSのパッケージマネージャから、大体サクッとインストールできます。
ただ、新規に環境を準備できるのであれば、GUIで直感的にLXCを利用管理できる「Proxmox VE」をオススメします。

https://proxmox.com/en/

これを使う事で、LXCの事を何も知らなくても、簡単に設定して起動できます。
しかも、GUIは日本語対応です。

5.LXCの注意点

そんなワクワクしてくるLXCですが、一応注意事項も・・・。

まず、全機能が完全に使えるわけではありません。
Dockerコンテナでやる程度の内容で、単純にアプリケーションを動かすだけならほとんど大丈夫ですが、OS丸ごと風だとやりたくなってしまうアレコレで結構ハマりました。

例えばDockerコンテナでは普通やらない「NFSマウントする」「Dockerを動す」といった事は設定が必要です。
(ほかにも色々あると予想されますが、都度調べて対応するしかないと思います)
ただ、Proxmox VEでは、このあたりはオプション設定で簡単に解決できました。
(オプションで「Docker->ネスト」「NFSマウント->NFS」に、チェック入れたら設定完了です)

6.といったところで

Proxmox VEからであれば、利用開始の敷居はこの上なく低いので、お手持ちの仮想基盤上でネスト構成とかで構築して、是非一度お試しください。
十数秒で起動できて使い捨て出来るOS丸ごと風環境は、一度使うとかなりハマってしまう便利さです。

y-morimoto

2022年09月20日 火曜日

九州支社技術部(九州・中四国事業部)所属。自作パソコン好きで、ハードウェア選定の仕事を与えると喜ぶ。最近は何でもコンテナにしたい教に入信し、コンテナ化の機会を虎視眈々と狙っている。

Related
関連記事