第4回 「Dockerのクジラロゴ」が意味するもの:古賀政純の「攻めのITのためのDocker塾」(2/3 ページ)
“攻めのIT”のため、Dockerの本質を見極め、より正しくDockerを理解しましょう。今回はいよいよ本題へ。Dockerのロゴアイコンやコンテナそのものの形状から「Dockerの本質」の基本をひもといていきます。
コンテナ船とコンテナ、あの形が重要
Dockerの本質を見極め、より正しくDockerを理解するために、ここではDockerのロゴアイコンにもある実際の「コンテナ船」やコンテナそのものの形状から、Dockerとは何かをひもといていきましょう。
商用OSの世界でも、SolarisゾーンやHP-UX Containersなどのように、コンピュータ資源を分離する「コンテナ技術」が発展していきました。ここで、コンテナという言葉が出てきます。コンテナとは船や列車などの貨物輸送で使われる容器です。一隻に大量のコンテナを積載して運ぶ貨物輸送船を思い浮かべて下さい。
なぜ貨物でコンテナが利用されるのでしょう。容器を直方体の箱にすれば船の限られたスペースにすき間なく積み上げて効率よく配置でき、異なる種類のコンテナ同士で内容物が混ざるといったトラブルも避けられます。依頼主にも管理側にもメリットがあるからです。
この「隙間なく積み上げて配置できること」と「内容物が混ざるトラブルが発生しないこと」という点が非常に重要です。コンピュータにおけるコンテナも同じ考え方です。コンピュータにおいて、一隻のコンテナ船はホストOSです。その上に載る大量のコンテナの群れには、それぞれさまざまなアプリのプロセスが稼働しています。隙間なく積まれたコンテナの群れをよく目を凝らしてみてみると、コンテナ同士はぴったりとくっついて配置されていますが、お互いのコンテナは、となりのコンテナの内容物(プロセス)は知り得ません。すなわち、ホストOSであるコンテナ船から見た人は、コンテナという分離された空間がいくつも存在するかのように見えます。これが、分離された空間=コンテナと呼ばれるゆえんです。
また、船の平らな甲板にコンテナが直接触れて置かれている点も重要です。平らであるということをコンピュータに置き換えると、ホストOSとコンテナが直接触れているということは、ホストOSとコンテナの間にはハイパーバイザーのような介在者がいないことになります。すなわち、コンテナで稼働するアプリのプロセスは、ホストOSから直接起動されているのです。
介在するものがないので、船が大きく傾かない限りは安定してコンテナを輸送できます。ホストOSがしっかりしていれば、分離された空間で稼働しているプロセスの制御をテキパキと行うことができるわけです。
ここで改めてDockerロゴの青いクジラの背中を見てください。平らです。その上に、コンテナがすき間なく積載されています。Dockerのロゴに描かれている絵のデザインは、アーキテクチャの非常に重要な部分を示しているのです。
関連記事
- 第2回 chroot/Dockerを手元のWindowsで手軽に試す方法
なぜ企業がDockerに着目するのか、今後の“攻めのIT”に必要と言われているのか。今回はこれをふまえ、簡単にざっくりと体験学習してみませんか。今回は準備編として、CentOS 7.xをお手元のWindows PCで手軽に試す方法を簡単に紹介します。 - ゲームもレースもビッグデータ分析で上手くなる!?
企業の“ビッグデータ活用”への期待度は高い。しかし、現実には「ビッグデータは持っているが活用はできていない」という企業がほとんどだろう。ここでは、思いがけない方法でビッグデータ分析を活用している事例などを紹介する。 - クラウドエバンジェリスト4者対談:「エンタープライズクラウド」は、どこへ向かうのか?
エンタープライズ領域におけるクラウド利用がいよいよ本格的に普及段階に入った。その理由と背景は何か。自社は、導入をどう考えればよいか。主要ベンダーのクラウド関連エバンジェリストに、現状とその未来を分析してもらった。
Copyright © ITmedia, Inc. All Rights Reserved.