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上でシステム開発をすることを目的としているので、この状態で今回は終わりです。