Sign inSign up

thebaron/ruby

By thebaron

•Updated about 10 years ago

Ruby containers using the sl7base Scientific Linux base distribution.

Image
0

10K+

thebaron/ruby repository overview

Sample Ruby 2.1 Dockerfile for this build (clone and port of the official Ubuntu-based Ruby installs)

FROM slbase:7.1

⁠skip installing gem documentation

RUN mkdir -p /usr/local/etc
&& {
echo 'install: --no-document';
echo 'update: --no-document';
} >> /usr/local/etc/gemrc

ENV RUBY_MAJOR 2.1 ENV RUBY_VERSION 2.1.9 ENV RUBY_DOWNLOAD_SHA256 034cb9c50676d2c09b3b6cf5c8003585acea05008d9a29fa737c54d52c1eb70c ENV RUBYGEMS_VERSION 2.6.3

⁠some of ruby's build scripts are written in ruby

⁠we purge this later to make sure our final image uses what we just built

RUN set -ex
&& buildDeps='
bison
ruby
autoconf
gdbm-devel
libdb-devel
libffi-devel
openssl-devel
libyaml-devel
readline-devel
tk-devel
procps
dtrace
gcc
make
'
&& yum update -y
&& yum install -y $buildDeps
&& yum install -y ca-certificates
&& rm -rf /var/cache/yum/*
&& curl -fSL -o ruby.tar.gz "http://cache.ruby-lang.org/pub/ruby/$RUBY_MAJOR/ruby-$RUBY_VERSION.tar.gz⁠"
&& echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.gz" | sha256sum -c -
&& mkdir -p /usr/src/ruby
&& tar -xzf ruby.tar.gz -C /usr/src/ruby --strip-components=1
&& rm ruby.tar.gz
&& cd /usr/src/ruby
&& { echo '#define ENABLE_PATH_CHECK 0'; echo; cat file.c; } > file.c.new && mv file.c.new file.c
&& autoconf
&& ./configure --disable-install-doc
&& make -j"$(nproc)"
&& make install
&& yum remove-n -y $buildDeps
&& yum clean all
&& gem update --system $RUBYGEMS_VERSION
&& rm -r /usr/src/ruby

ENV BUNDLER_VERSION 1.11.2

RUN gem install bundler --version "$BUNDLER_VERSION"

⁠install things globally, for great justice

⁠and don't create ".bundle" in all our apps

ENV GEM_HOME /usr/local/bundle ENV BUNDLE_PATH="$GEM_HOME"
BUNDLE_BIN="$GEM_HOME/bin"
BUNDLE_SILENCE_ROOT_WARNING=1
BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $BUNDLE_BIN:$PATH RUN mkdir -p "$GEM_HOME" "$BUNDLE_BIN"
&& chmod 777 "$GEM_HOME" "$BUNDLE_BIN"

CMD [ "irb" ]

Tag summary

Content type

Image

Digest

Size

300.8 MB

Last updated

about 10 years ago

docker pull thebaron/ruby:2.1.10