Public Repository

Last pushed: a year ago
Short Description
Ruby containers using the sl7base Scientific Linux base distribution.
Full Description

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" ]

Docker Pull Command
Owner
thebaron