はじめに
前回のコラムで は、コンテナ管理ツール「Docker」を学ぶ下準備として、Linuxコンテナそのものの仕組みを解説しました。Linuxサーバ上でアプリケーション の実行環境を分離する面白い技術ですが、Linuxコンテナを本格活用しようとすると、いくつか面倒な点もでてきます。その1つが、コンテナに見せるファ イルシステム内のコンテンツ管理です。
今回は、この点について補足説明すると共に、Dockerおけるファイルシステム(イメージ)管理の方法を紹介します。Dockerの具体的な利用例については、(*1)の記事が参考になるでしょう。
コンテナ用ファイルシステムのコンテンツ管理
前回説明したように、コンテナで稼働するプロセスからは、ホストLinux上の特定のディレクトリがルートファイルシステムとして参照されます。 以前からある、「chroot」に相当する仕組みです。したがって、この特定のディレクトリの中に、プロセスの稼働に必要なファイルをすべて入れておく必 要があります。
ところが、Apache HTTPサーバやSambaサーバなど、既存のアプリケーションをコンテナで稼働させようとすると、そもそもどんなファイルが必要なのか、すぐには判断が できません。Red Hat Enterprise Linux(RHEL)などが導入された普通のLinux環境であれば、yumコマンドでRPMパッケージを導入すると、必要なファイルは自動的に用意さ れます。しかしながら、コンテナ用に用意した新規の空ディレクトリに対して、パッケージをインストールするようなことはできるのでしょうか? yum/rpmコマンドのオプションを駆使すればできなくはないのですが、特殊な手順のため、誰にでも利用できる方法とは言えません。
そこで、Dockerでは、コンテナに見せるファイルシステムを「イメージ化」して管理することで、この問題を解決しています。
(この続きは以下をご覧ください)
(リンク »)
お問い合わせにつきましては発表元企業までお願いいたします。