docker というものがどういうものか良くわからなかったので、ちょっと試してみた。
Vagrant のUbuntuを用意して、dockerをインストールした。
docker のインストールには、cookbook を利用した。
とりあえず docker をインストールだけすることにしたので、recipe はこんな感じ。
docker_service 'default' do
version '1.8.3'
action [:create]
end
試しに書いた Dockerfile は、こんなの。
FROM ubuntu:latest
RUN apt-get update -y && apt-get install -y ruby-build git
RUN git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
RUN echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.rbenv_bashrc
RUN echo 'eval "$(rbenv init -)"' >> ~/.rbenv_bashrc
RUN git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
RUN . ~/.rbenv_bashrc && rbenv install 2.2.3 && rbenv rehash && rbenv global 2.2.3
CMD . ~/.rbenv_bashrc && irb
本当は、ruby のbuildに必要なパッケージを1つ1つ指定した方がいいのかも知れないが
今回は手抜きで、一旦、ruby-build パッケージを apt でインストールして
buildに必要なパッケージがまるっとインストールされるようにした。
で、最新版の rbenv と ruby_build を取ってきて、Ruby 2.2.3 をインストールする。
実行するのは、irb コマンド。
$ sudo docker build -t my_ruby:2.2.3 .
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
my_ruby 2.2.3 d9bdbc8040f7 25 minutes ago 502.3 MB
$ sudo docker run -it d9bdbc8040f7
irb(main):001:0> RUBY_VERSION
=> "2.2.3"
動いた。
ruby の Dockerイメージはきっとあるだろうけど、docker が何者か知るために自分でDockerイメージを作ってみた。
最近のコメント