Edited at

第11回 クラウドごった煮(コンテナ勉強会)に参加してきました。

More than 3 years have passed since last update.

久し振りにこういった勉強会に参加してきました。

クラウド・仮想化界隈のソフトウェアが増えてきて、

何が何やらって感じだったので キーワードをまとめて置きたいと思います。


Docker

今回の主題 Docker LXC Linuxコンテナと呼ばれるシステムを使っている

Dockerファイル…イメージの作成手順が記載されている

DockerファイルからDockerイメージを作成

DockerHubにPushしたりできる

VirtualMachine のVMDK 仮想ディスクを作ると

データ容量が大きい

コンテナだとイメージが小さくできる

docker pull すると

DockerFileとDockeImage の差分をLocalに適用して動かせる

Device Mpper Thin-Provisioning (Dm-thin)

Dockerイメージの内部構造はデータ用デバイスの上に論理デバイスをかぶせて読み書きしている

中身はディレクトリツリーがアーカイブされている様子。

VMDKとかと一緒のような気もするが。

スナップショットを取るように変更の差分を記録し、

その差分をすでにローカルに持っていれば使うという方法で、

イメージファイルの容量を小さくできる様子。

ローカルにベースとなるOSのDockerイメージが無ければ、

全部取ってくる事になるからダウンロード容量は減らない。

と思われる。


今後知りたいこと

ただ元がコンテナなのでホストのOSと共有している部分があるのか、ないのか気になる。

DockerFileで定義できるものは何か?

パッケージの情報?

ネットワークの情報?

参考資料:

http://www.slideshare.net/enakai/docker-43975886

http://www.slideshare.net/enakai/docker-is-not-container-dockerpaas


デモとかで気になったコマンド

watchコマンド

losetupコマンド


Atomic Host

RedHatが作ったDockerに適したディストリビューション

Docker以外の機能・ソフトが入らない

yumがない


Kubernetes

Dockerコンテナを複数管理できる

サービスを2つ起動してやると、

勝手にロードバランスしてくれる。

RedHatのOpenShiftV3は中身にKubernetesを使っている


マイクロサービス

ファンクションごとにサービス・機能を切り分けて

コンテナごとに動かすようなことをしていれば

影響範囲を小さく限定的にできる考え方


C4SA

ニフティのPAAS


tutum

コンテナ事業者


IBM Containers

BlueMix

IBMとDockerが提携

IBMがDockerを使って提供する

IBM BluemixというPaaS

IBMがIaaSのベンダーSoftLayerという会社を買収した

Docker Imageのプライベートリポジトリが提供される

Dockerの実行環境が提供される

現在ベータ版なので無料で使える枠がある


GoogleContainerEngine

GCEだとGoogleComputeEngineになってしまうため、

GKEと呼ばれるらしい

アルファ版

マネージドKubernetes


Docker Machine

Machine Swarm Compose Orchestration

Docker MachineはDockerの実行環境を自動で作成できるツール

実行環境を作る先は豊富

AmazonEC2 デジタルオーシャン GoogleComputeEngine などなど


Docker Mesosとは

Apache Aurora は Mesosのフレームワークの一つ

ジョブスケジューラ


Dockerネットワーキング

Dockerは単体のPCの中で動作する分には、

コンテナ同士の通信に困ることはないが、

複数のサーバやクラウドサービス上で動作している場合、

違うサーバ上のコンテナ間で通信させようとすると、

途端に難しくなる。

それを解消するためのツール群が出てきている、ということみたい。

flannel

weave

Socket

OpenVNet

株式会社あくしゅさんが開発している

ネットワーク仮想化ソフトウェア

wakame-vdc からスピンアウト

商用だとVMware NSX

VDC


RancherIO

Dockerホストの管理

コンテナ操作

オーバレイネットワークの提供

ホスト・コンテナのリソース監視

プライベートリポジトリの作成

プロジェクト管理

アクセス制御

Githubアカウントによる制御