fastladderが動くDockerイメージを作った
会社のブログに書こうと思ってやってんたんだけど結果的にうまくいかなかったのでこっちに書く。ちょっと思い立ってMac OS X上でfastladderを動かしてみた。
(1)boot2dockerを起動する。
$ boot2docker start(2)フォルダを掘る。
$ mkdir flodoc(3)Dockerfileを作成する。
$ cd flodoc
$ vi Dockerfile----
FROM centos
MAINTAINER smokeymonkey@gmail.com
RUN yum update -y
RUN yum install -y ruby-devel rubygems git gcc gcc-c++ make build-essential libxml2-devel libxslt-devel libcurl-devel sqlite sqlite-devel
WORKDIR /opt
RUN git clone git://github.com/fastladder/fastladder.git
WORKDIR /opt/fastladder
RUN echo "gem 'therubyracer'" >> ./Gemfile
RUN cp config/database.yml.sqlite3 config/database.yml
RUN adduser docker
RUN chown -R docker:docker .
USER docker
ENV PATH $PATH:/home/docker/.local/bin:/home/docker/bin
RUN gem install bundler --no-ri --no-rdoc
RUN bundle config build.nokogiri --use-system-libraries
RUN bundle install
RUN bundle exec rake db:create db:migrate
RUN bundle exec rake setup # Setup files for development
RUN bundle exec ruby script/crawler --daemon
CMD bundle exec rails server -p 3000
EXPOSE 3000
----
(4)buildする。
$ docker build -t local/fastladder .(5)起動。
Successfully built b1ac79c34a97
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
local/fastladder latest b1ac79c34a97 3 days ago 876.9 MB
$ docker run -d -p 3000:3000 local/fastladder(6)boot2docker ipで接続先IPアドレスを確認。
71893613f8955dcb433518aabc28241ad35ff156985c1a96dca7275ec609bede
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
71893613f895 local/fastladder:latest "/bin/sh -c 'bundle 3 days ago Up 50 seconds 0.0.0.0:3000->3000/tcp pensive_sinoussi
$ boot2docker ip
The VM's Host only interface IP address is: 192.168.59.103
(7)接続する。
(8)Create new accountしたらログインされる。
ここまでは良いんだけど、よく考えたらコンテナを停止したら設定が全部飛ぶんでした。だからDBを外に出さないとダメだった。
アホか俺は。
アホか俺は。
Docker入門 Immutable Infrastructureを実現する 松原豊,米林正明 技術評論社 売り上げランキング : 4902 Amazonで詳しく見る by AZlink |