clairvyの日記

思ったこと,調べたことを書きます

Rails Girls Nagoya を見学してきた

たまたま機会があったので,Rails Girls Nagoya 1st Nagoya 7-8th March 2014 を見学させてもらいました.
スタッフの方ありがとうございます.

そのときに,見学するだけなのもアレなので,
自分でもやってみようと思っていたので,
やっていたが,なかなかうまくいかなかったので,
とりあえずこの記事に追記していこうと思う.

これくらいで環境を作りたい.(MacOSX の場合)

$ brew bundle
$ rehash
$ VBoxManage  "boot2docker-vm" --natpf1 "tcp-port3000,tcp,,3000,,3000"
$ boot2docker up
$ docker run -p 3000:3000 -rm clairvy/railsgirls

又は

$ brew bundle
$ VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port3000,tcp,,3000,,3000"
$ boot2docker up
$ docker build -t clairvy/railsgirls .
$ docker run -p 3000:3000 clairvy/railsgirls
2014/3/17


gist9591930

今んとこ,source ~/.rvm/script/rvm のところで,途中で抜けているみたい.
set -e と関係ありそうだけど,

$ bash <( echo 'set -e; source ~/.rvm/scripts/rvm; echo $?' )
$

って書きながら思ったけど,source で $? って変化しなくね?
と思ったらしていた.

$ cat a
bash -c 'exit 1'
$ bash <( echo 'source a;  echo $?' )
1

とりあえず今はこんな感じ.

2014/3/18

これで一応動くは動くのだけど.

$ curl -s https://raw.github.com/railsgirls/installation-scripts/master/rails-install-fedora.sh | sed -e 's#source ~/.rvm/scripts/rvm#set +e;source ~/.rvm/scripts/rvm;echo $?;set -e#' | bash
2014/3/23

issm さんに,boot2docker ですよ.と言われたので入れてみる.

Brewfile で,boot2docker を入れる.(イマドキ brew bundle はもう修正されているかもしれないけど,とりあえずWarning を抜くのを入れてある)

install boot2docker 2>&1 | egrep -v '^Warning: ' || true

tap 'phinze/cask' 2>&1 | egrep -v '^Warning: ' || true
install brew-cask 2>&1 | egrep -v '^Warning: ' || true

cask install virtualbox 2>&1 | egrep -v '^Warning: ' || true
$ brew bundle
$ rehash
$ boot2docker
Usage /usr/local/bin/boot2docker {init|start|up|save|pause|stop|restart|status|info|delete|ssh|download}
$ docker -v
Docker version 0.9.0, build 2b3fdf2
$ boot2docker init
$ boot2docker status
[2014-03-23 15:35:01] boot2docker-vm is stopped.
$ boot2docker up
[2014-03-23 15:35:19] Starting boot2docker-vm...
[2014-03-23 15:35:38] Started.

To connect the docker client to the Docker daemon, please set:
export DOCKER_HOST=tcp://localhost:4243

$ boot2docker status
[2014-03-23 15:36:26] boot2docker-vm is running.
$ DOCKER_HOST=tcp://localhost:4243 docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
$ DOCKER_HOST=tcp://localhost:4243 docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

とりあえず,環境変数で指定するの面倒だったので,いつか直りそうだけど,
今使えるものを書く..zshrc とかに.


gist9719817

これで,boot2docker up → docker build . である程度できそうな気がしてきました.

2014/3/25

とりあえず,docker push しておいたので,見られるようになった.
USER とかDockerfile にまだ修正するつもりだが動くようになった.

$ docker pull clairvy/railsgirls

https://index.docker.io/u/clairvy/railsgirls/

VBoxManage が覚えられない.
なのでスクリプトにして,必要になったときだけ直接書けばいいかな.と思った.

# boot2docker
if whence -p VBoxManage 2>&1 > /dev/null; then
  alias boot2dockershowpf='VBoxManage showvminfo boot2docker-vm | egrep "NIC.*Rule" | perl -lpe '\''s/NIC (\d+) Rule\(\d+\)/natpf\1/;s/,[^,]+ = /,/g;s/:[^:]+ = / /g'\'''
  alias boot2dockershowpf-name='boot2dockershowpf | awk -F, '\''{print $1}'\'
  function boot2docker-add-pf {
    if [[ $# -lt 1 ]]; then
      echo "usage : $0 <port>"
    else
      VBoxManage controlvm boot2docker-vm natpf1 "tp$1,tcp,,$1,,$1"
    fi
  }
  function boot2docker-del-pf {
    if [[ $# -lt 1 ]]; then
      echo "usage : $0 <name>"
    else
      VBoxManage controlvm boot2docker-vm natpf1 delete $1
    fi
  }
fi

2014/3/28

centos だと EPEL 導入後だったら,でいいんすかね.

$ sudo yum -y install docker-io
$ rehash
$ sudo service docker start
$ sudo chkconfig docker on

Windows のテスト環境ってどうやって作るといいんだろ?


WEB+DB PRESS Vol.79

WEB+DB PRESS Vol.79

  • 作者: 成瀬ゆい,そらは(福森匠大),西磨翁,小川航佑,佐藤新悟,塚越啓介,藤原亮,堀哲也,田村孝文,桑野章弘,松浦隼人,中村俊之,田中哲,福永亘,杉山仁則,伊藤直也,登尾徳誠,近藤宇智朗,若原祥正,松木雅幸,奥野幹也,後藤秀宣,羽二生厚美,笹田耕一,平河正博,東舘智浩,渡邊恵太,中島聡,A-Listers,はまちや2,川添貴生,山田育矢,伊藤友隆,村田賢太,まつもとゆきひろ,佐野岳人,山口恭兵,千葉俊輝,平松亮介,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/02/22
  • メディア: 大型本
  • この商品を含むブログ (2件) を見る