1
0
Fork 0
mirror of https://github.com/docker-library/ruby.git synced 2022-11-09 11:41:34 -05:00
docker-library--ruby/2.1/Dockerfile
Nick Novitski d88c77ea84 Create ~/.gemrc before updating rubygems
Previously, the only gem referred to in the build was Bundler.
Immediately before it was installed, rubygems was globally configured to
not install documentation when gems are installed or updated.

Now, rubygems is updated in the same RUN step that installs ruby.  By
creating the .gemrc file before that step, the `gem update rubygems`
command no longer needs an explicit `--no-documentation` flag.
2015-08-07 17:56:20 +00:00

43 lines
1.4 KiB
Docker

FROM buildpack-deps:jessie
ENV RUBY_MAJOR 2.1
ENV RUBY_VERSION 2.1.6
ENV RUBY_DOWNLOAD_SHA256 1e1362ae7427c91fa53dc9c05aee4ee200e2d7d8970a891c5bd76bee28d28be4
ENV RUBYGEMS_VERSION 2.4.8
# skip installing gem documentation
RUN echo 'install: --no-document\nupdate: --no-document' >> "$HOME/.gemrc"
# 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 apt-get update \
&& apt-get install -y bison libgdbm-dev ruby \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /usr/src/ruby \
&& 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 - \
&& tar -xzf ruby.tar.gz -C /usr/src/ruby --strip-components=1 \
&& rm ruby.tar.gz \
&& cd /usr/src/ruby \
&& autoconf \
&& ./configure --disable-install-doc \
&& make -j"$(nproc)" \
&& make install \
&& apt-get purge -y --auto-remove bison libgdbm-dev ruby \
&& gem update --system $RUBYGEMS_VERSION \
&& rm -r /usr/src/ruby
# install things globally, for great justice
ENV GEM_HOME /usr/local/bundle
ENV PATH $GEM_HOME/bin:$PATH
ENV BUNDLER_VERSION 1.10.6
RUN gem install bundler --version "$BUNDLER_VERSION" \
&& bundle config --global path "$GEM_HOME" \
&& bundle config --global bin "$GEM_HOME/bin"
# don't create ".bundle" in all our apps
ENV BUNDLE_APP_CONFIG $GEM_HOME
CMD [ "irb" ]