俺の雑記帳

My random memorandumです。(つまり、個人的な備忘録であり、その点ご容赦を。)

LINUXを仮想化する代わりに"Docker"。さらにその専用OS"CoreOS"まで出た(CentOSではない)。

"Docker"を理解するには、
LINUXのコンテナ(LXC)から理解する必要がある。
『第41回 Linuxコンテナ(LXC)の基礎をまとめ直す』
この頁は第41回だが、42,43,46回と"Docker"の話題。

この43回に、以下の記述がある。
『ちなみに、Dockerイメージを複数環境で利用する際の思わぬ問題を避けるには、Dockerを使用するホストLinuxを最初から同じものにそろえておくという手もあります。いま、Docker専用のLinuxディストリビューションを開発・提供するような話を耳にすることもあります。今後、どのようなLinux環境がDockerの標準環境として広がっていくのか、少し注意して動向を見ておくのがよいでしょう。』
これがまさに、CoreOS
しかし世の動きは速い。第43回は2014年5月の記事だが、7月には CoreOSの安定版(Ver.1.0)がリリース。ちなみにこの連載(第41,42,43,46回)には、「CoreOS」という単語は登場しない。


8月6日のこの記事(『レッツトライ!夏休みに覚えるDocker - さくらのナレッジ』)の序盤では、すでにWindowsにCoreOS&Dockerを入れるインストーラーが紹介されている。DockerはLinux上で動くものなので、このインストーラーには、仮想化のVirtualBoxにCoreOS(Dockerインスコ済みOS)が載っている状態でスタートされる。
『Dockerとは言っても、実際のところ CoreOSがインストールされたVirualBoxイメージが立ち上がるので、Windows上で動いているというのとは若干違うかも知れません。とは言えVirualBox上ではCoreOSが動いていますので普通にdockerコマンドが使えます。
     $ docker run ubuntu /bin/echo hello world
などとコマンドを打てば、初回は数十MBのUbuntuイメージをダウンロード後、 hello world と出力されます。その後からはすぐにレスポンスが返るようになるはずです。』

上記の例では、
 Windows > VirtualBox > CoreOS > Docker > Ubuntu
となっているようだ。?? UbuntuWindows上で動かしたいだけなのに、CoreOSもあり、Linux二つ入れてる。お、CoreOS導入時に入れたLinuxカーネル上で、Ubuntuディストリビューションが動いているということか。
?。ではこうなのか?
 Windows > VirtualBox > Linuxカーネル(CoreOSのもの)
                           > CoreOS > Docker(コンテナ管理)
                           > Ubuntu(Dockerに参照を制限されている?)
 のように、並列のようで並列でないような… ホンマか?
 (既述の第43回の記事で説明されているABSなどの件がカギ)

なお、この記事では、WindowsMacに続いて、さくらのクラウドサーバでのCoreOSインスタンスの利用が解説してある。Amazon EC2 CoreOSインスタンスができるようだが、さくらのようにはまだAmazon自体が提供しているわけではないようだ。(Amazon Linux AMI では、Dockerにはすでに対応している。)

ついでに EC2 と CoreOSの記事二つ。
『AWS - Docker 1.0 を CoreOS で速攻試したのと Docker Hub を試している』GitHub や BitBucket にDockerイメージを登録して更に色々できる!
『CoreOS on EC2でDockerコンテナをクラスタリングする』 クラスタリングまで自分でこんなに簡単にできる!(CoreOS利用)

もっと直近で使えそうなヤツ。
『EC2とLinuxディストロ事情』の19ページ「Dockerを使ってEC2を持ち出す方法」

PaaSとDocker。2つとも、少し上で疑問を書いた、二つのディストリビューション、に関する図を探して見つけた。(図は 上記の疑問と自己回答をピッタリ示すものではなかったが、PaaSの件が面白かった。Amazonの Beenstalk 使ってみたくなった。)
『AWS Elastic BeanstalkがDockerをサポートすると何がうれしいのか』
『いまさら聞けないDocker入門(1):アプリ開発者もインフラ管理者も知っておきたいDockerの基礎知識』下のほうに、「PaaSとDocker」の図あり。