読者です 読者をやめる 読者になる 読者になる

will and way

ただの自分用メモを人に伝える形式で書くことでわかりやすくまとめてるはずのブログ

Dockerでseastarを動かすまで その1

テクネタ

Seastar 高スループットなサーバアプリケーションの為の新しいフレームワーク #kbkz_techというエントリを読んで、触ってみたいと思い立った。

Hello Worldするなら、ついでにDockerも触ってみたくなったのでダブル事始めとして

  1. core-osの仮想マシン立てる
  2. fedoraのコンテナを起動
  3. seastarを動かす

ここまでやりたい。

seastarとは

c++11によるサーバーサイドのフレームワーク

環境

MacOSX10.10.3, VirtualBox4.3.16, vagrant 1.6.5

手順

1. core-osの立ち上げ

$ git clone https://github.com/coreos/coreos-vagrant.git
$ cd coreos-vagrant
$ vagrant up

2. ゲストOSへのssh

$ vagrant status
Current machine states:

core-01                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

$ vagrant ssh core-01
Last login: Sun May 17 10:34:34 2015 from 10.0.2.2
CoreOS alpha (681.0.0)

3. core-osでfedoraイメージの起動

pull fedoraするとfedora22がダウンロードされるのでsearchしてお望みのimageを落とす。

core@core-01 ~ $ docker search fedora21
core@core-01 ~ $ docker pull hoge/fedora
core@core-01 ~ $ docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
fedora                rawhide             f62b94603835        2 days ago          364.2 MB
nodesource/fedora21   latest              cfa802319a6e        2 weeks ago         352.9 MB
ubuntu                latest              07f8e8c5e660        2 weeks ago         188.3 MB
core@core-01 ~ $ docker run -i -t nodesource/fedora21 bash
bash-4.3# cat /etc/issue
Fedora release 21 (Twenty One)
Kernel \r on an \m (\l)

4. 依存ライブラリ等のインストール

bash-4.3# yum install -y git python3 gcc-c++ libaio-devel ninja-build ragel hwloc-devel numactl-devel libpciaccess-devel cryptopp-devel xen-devel boost-devel

5. README.md通りのインストール

bash-4.3# git clone https://github.com/cloudius-systems/seastar.git
bash-4.3# cd seastar
bash-4.3# ./configure.py
bash-4.3# ninja-build

が、ゲストOSのメモリが足らないみたいでビルドできなかった。。。shoot!! 今回ここまで。