Dockerfile 作成
# http://www.atmarkit.co.jp/ait/articles/1407/08/news031.html
# https://qiita.com/soushiy/items/0945bcbc7ecce4822985
FROM centos:7.4.1708
MAINTAINER tomy103 <hoge@hogehoge.jp>
# install os package
RUN yum -y install gcc bzip2 make \
&& yum -y install openssl-devel readline-devel zlib-devel \
&& yum -y install libpcap-devel \
&& yum -y install which \
&& yum -y install git
# install rbenv / ruby
ENV PATH /root/.rbenv/bin:/root/.rbenv/shims:$PATH
RUN git clone git://github.com/sstephenson/rbenv.git ~/.rbenv \
&& git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build \
&& echo 'export PATH="/root/.rbenv/bin:/root/.rbenv/shims:$PATH"' >> /etc/profile.d/rbenv.sh \
&& echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh \
&& rbenv install 2.4.2 \
&& rbenv global 2.4.2 \
&& rbenv rehash
# install roadworker
RUN gem install rails -v 5.1.4
※RUNコマンドの数が多いとイメージのサイズが大きくなってしまう(らしい)ので極力 && でまとめてみた。
Dockerイメージをビルド
# docker build -t tomy103-ruby-on-rails-tutorial:latest ./
※docker build [ -t {イメージ名} [ :{タグ名} ] ] {Dockerfileのあるディレクトリ}
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomy103-ruby-on-rails-tutorial latest a759c6635ae9 18 minutes ago 618MB
作成したDockerイメージからコンテナ作成/起動
# docker run -d -it --hostname tomy103-ruby-on-rails-tutorial --name tomy103-ruby-on-rails-tutorial tomy103-ruby-on-rails-tutorial:latest /bin/bash --login
※docker run [オプション] [--name {コンテナー名}] {イメージ名}[:{タグ名}] [コンテナーで実行するコマンド] [引数]
コンテナの状態確認
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f475564e760a tomy103-ruby-on-rails-tutorial:latest "/bin/bash --login" 53 seconds ago Up 51 seconds tomy103-ruby-on-rails-tutorial
コンテナ停止/起動
# docker stop tomy103-ruby-on-rails-tutorial
# docker start tomy103-ruby-on-rails-tutorial
コンテナにログイン
# docker attach tomy103-ruby-on-rails-tutorial