2014年7月12日土曜日

Dockerfileを利用してMySQLのインストールとRuby2.1、Railsのインストールを行い、かつソースもGithubからcloneする

Mac上で開発をしてもいいが、あんまり環境を汚したくないのでDocker上のCentOS上で開発ができる用にする再現の装備を整える手順です。

Docker上に設定しきってしまいたい部分。
OS:CentOS
ミドルウェア:MySQL,Ruby2.1,Rails
ソース:Githubのclone

MySQLに関してはutf-8がいいので、設定ファイルをホストOSからコピーさせています。

> cat Dockerfile 

FROM centos
MAINTAINER sample_name 

RUN echo "Install lib"
RUN yum install -y git vim sudo tar wget
RUN yum install -y gcc make gcc-c++ zlib-devel httpd-devel openssl-devel curl-devel sqlite-devel

RUN echo "Install mysql"
RUN yum install -y mysql mysql-server mysql-devel
ADD etc/my.cnf /etc/my.cnf
RUN touch /etc/sysconfig/network

RUN echo "Install ruby"
RUN cd /root/ && wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.1.tar.gz
RUN cd /root/ && tar zxvf ruby-2.1.1.tar.gz
RUN cd /root/ruby-2.1.1 && ./configure && make && make install
RUN gem install bundler --no-ri --no-rdoc -V
RUN gem install rb-readline --no-ri --no-rdoc -V

RUN echo "Install rails"
RUN gem install rails --no-ri --no-rdoc -V
RUN gem install mysql2 -v '0.3.16' --no-ri --no-rdoc
RUN echo rails -v

RUN git clone https://github.com/{githubユーザID}/{プロジェクト名}

RUN bundle install

ADDって箇所が、ホストOSのファイルをDocker上にコピーしている部分です。
Dockerfileのディレクトリからのファイルパスを記述します。
ADD ホストOS側のファイルパス Docker上のファイルパス

Dockerfileを利用してのdockerの起動は下記コマンドになります。
docker build -t {docker imageを保存する名前} .
例)
docker build -t ak220/ruby:1.0 .

本来なら、Monitとかのインストールもしてしまって、MySQLの起動などをMonitに任せる感じにしたいところだが、Docker上でシステム開発をすることを目的としているので、この状態で今回は終わりです。

0 件のコメント:

コメントを投稿