この記事はKMC Advent Calendar 2015 - Adventar 10日目の記事です。 9日目の記事は、hatsusatoさんのtemplate in C - KMC活動ブログでした。
部内で Effective C++ を読む勉強会のリーダーである hatsusatoさんの話は知見ばかりで面白いです
はじめに
KMC1回生 広報の wass80 https://twitter.com/wass80/ です
部室に駆逐艦と呼ばれる 5 台のPCのうち幾つかが余っていました
そのうちの 2 台をつかって, docker を自由に走らせられる環境を作ります
3 行でわかる docker とは
例えば以下のことが出来る
docker run -it ruby bash
→ 最新の ruby の使える bash に入るdocker build -t wass80/hoge .
→ 今のディレクトリの Dockerfile を読んで新しくイメージを作るdocker push wass80/hoge .
→ 作ったイメージを Docker hub にアップロード
強そう!
環境構築篇
この記事のリポジトリをおよそ流用させてもらいました
2台の駆逐艦 abukuma と hibiki で
- abukuma は vagrant で mesos-master と mesos-slave を分離した
- hibiki は mesos-slave のみで運用
ここに環境構築に使ったファイルをおいておきます
Docker イメージ作成篇
Docker で走らせたいものとして, slack にある #shell チャンネルのボットがありました
物騒なチャンネルですね
このボットは $
から始まる発言をサブシェルで走らせて標準出力を返すボットです
今回はこの子を Docker で走らせたいと思います
ボットを書いた人からスクリプトをもらって, Dockerfileをつけて
即席完成品: wass80/shell-ch · GitHub
(公開する許可を得ることを失念しておりましたので、公開を停止しました。モラルに反する行為を行ったことを反省しています。)
docker build -t wass80/shellch .
docker push wass80/shellch
を実行
いまさら聞けないDocker入門(3):Dockerfileとdocker buildコマンドでDockerイメージの作成 (1/2) - @IT
これで, docker のあるところならば, どこでもボットを動かせるようになりました
※ push 前には docker hub に登録が必要です
デプロイ篇
さいごに作った環境でボットを動かします
Marathon をブラウザで開いて [Create] をクリック
伏せたところには Slack の web api token を入れて, 以上の設定で実行
デプロイ成功!
Docker をもっと手軽に!
もっと簡単に Docker を試してみたいなら
が楽ちん! Docker イメージを指定するだけでデプロイが無料で出来る! (β期間中)
いますぐ, github アカウントでログインだ!
それとも, 余ってるサーバで遊びたい? なら KMC に入部しよう!
お粗末さまでした
今後
安全性を高める技術を勉強したいです
明日, 11日目は suzusime さんによる「“面白い”フリーソフトのはなし(仮) 」です