ノムリエのOSS奮闘記

  • 8
    Like
  • 0
    Comment
More than 1 year has passed since last update.

はじめに

  • キーワードは、「Java」、「クラウド」、「OSS」、「世界遺産(!?)」
  • それらにまつわる自己研鑽・奮闘記を自己満足的に整理・記録する目的
  • 1つの投稿を都度アップデートする方針
  • 技術的に目新しい内容はなく、簡潔かつ再利用が基本(ほとんどがQiita記事の引用。元記事の執筆者の方々には御礼申し上げますm(__)m)
  • お勉強目的なので、色々無駄なこと・非実用的なことあるかも(と前置きしつつ、コメント/フィードバックはWelcome!!)
  • ゆえに、投稿の内容の正しさ、および本投稿から発生した直接的、又は間接的ないかなる損害についても責任を負いかねるのですwww
  • 現時点のゴールは下図(書いた本人以外読み解けないw やっているうちにこれすらブレるかもしれない)

GOAL


1. Vagrant/VirtualBoxをインストールする下準備の巻

新しいノートPCをゲット!!
真っ先にカスタマイズしたのが。。。ちょびっとBIOSイジってVT Enabled!?
というのも。。。Vagrant&VirtualBoxを入れるため☆
WindowsのVagrantで64 bit OSが起動しないとき


2. Windows7にVirtualBox,Vagrantを入れ、Dockerご試食の巻

Gitクライアントも必要だね。
http://msysgit.github.io/

Windows7にVirtualBox,Vagrantを入れ、Dockerを試してみる
うわー、Docker、はやーいっっっ♪(echoですがw、OS?コンテナ?起動のオーバーヘッド含んでいるはず)

DockerホストにSSHログインする方法として、Git Bashから「vagrant ssh」もできたのだが、Dockerコンテナ内でviとかやるとなぜかレイアウトがヒドいことになる。。。


3. DockerコンテナにSSHログインの巻

Dockerで立てたコンテナにsshで接続する
意外にこれが成功せず。。。一本道だと思っていたのだが。。。多分、Dockerのバージョン差異か、NW周りの設定不足か、SSHの理解不足か。。。

ちなみに発生しているエラーは、超お馴染みなヤツ:
「Read from socket failed: Connection reset by peer」


[閑話休題] Dockerのもやもやが少し晴れる記事

ところで、Dokcerは、
* 『Dockerのコンテナを立てる時は一つフォアグラウンドで動いているジョブがないとコンテナが消えてしまう』
* 『Dockerではプロセスを起動させるコマンドを一つしか選択出来ない』
とのことを遅ればせながら識る。
そうなんだー!意外と制約強い気が。。。?

とはいえ、裏ワザはあるみたいで...
Dockerコンテナ上で複数プロセス実行する方法(Supervisor)
ゴール成就のためにはこのテのワザが必須。

「A process per container」と「Role-based container」はやはり議論の的。後者が推奨みたい。
Dockerに関する誤謬(仮題)


4. Dockerコンテナにnsenterログインの巻

CoreOSのnsenterを使ってDockerコンテナに入る
SSHログインに失敗していた自分には朗報♪

自分のCoreOSにも「docker-enter」はないので、「nsenter」を実行。
ついにDockerコンテナにログイン!!
$ CID=$(docker ps -l -q)
$ PID=$(docker inspect --format {{.State.Pid}} $CID)
$ sudo nsenter --target $PID --mount --uts --ipc --net --pid

=>【10/20追記】ここでBreaking Newsがっっっ
Docker 1.3からは「Docker exec」でログイン可能になる!!


5. Knife-Solo/Chef-Soloをインストールの巻

VirtualBox VM上(Dockerコンテナの外)にKnife-Solo/Chef-Soloをインストールしてみる。
目論んでいるのは、
・Knife-Solo:AWS IaaS VMをリモートでセッティングするのだ!
・Chef-Solo:VirtualBox VM上で、Jenkins他をインストールするCookbookを作るのだ!

CentOS上でのKnife-Soloのインストールは簡単至極(だと思っていた...):

Rubyを全く知らない素人のワタクシがCentOSにknife-soloをインストールする手順
※タイトルに惹かれてしまいました。ワタクシと同じ境遇☆「"rubyこわい","gemこわい","rakeこわい"」

ところが...CoreOSで開始したのが仇に。yumすら入っていない...
http://japan.zdnet.com/os/sp/35050567/3/
→「FastPatch」を使え、と。
→kexec?(https://coreos.com/using-coreos/updates/)

※Knife-SoloをインストールするとChef-Soloが漏れなくついてくる。
※神業「sahara」はWindows上のVagrantでは使えず (-_-)


いやー初回から実にご無沙汰でした。。。豪州でワインを飲みまくっておりました☆
今日はココまで。。。(So much for today...) ※2014年11月3日