Skip to content

Instantly share code, notes, and snippets.

@pascalw
Created December 16, 2014 07:51
Show Gist options
  • Save pascalw/6c6bd27ef78f512e909d to your computer and use it in GitHub Desktop.
Save pascalw/6c6bd27ef78f512e909d to your computer and use it in GitHub Desktop.
Docker Ruby image based on Debian Wheezy
FROM buildpack-deps:wheezy
RUN apt-get update && apt-get install -y curl procps && rm -rf /var/lib/apt/lists/*
ENV RUBY_MAJOR 2.1
ENV RUBY_VERSION 2.1.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 apt-get update \
&& apt-get install -y bison ruby \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /usr/src/ruby \
&& curl -SL "http://cache.ruby-lang.org/pub/ruby/$RUBY_MAJOR/ruby-$RUBY_VERSION.tar.bz2" \
| tar -xjC /usr/src/ruby --strip-components=1 \
&& cd /usr/src/ruby \
&& autoconf \
&& ./configure --disable-install-doc \
&& make -j"$(nproc)" \
&& apt-get purge -y --auto-remove bison ruby \
&& make install \
&& rm -r /usr/src/ruby
# skip installing gem documentation
RUN echo 'gem: --no-rdoc --no-ri' >> "$HOME/.gemrc"
# install things globally, for great justice
ENV GEM_HOME /usr/local/bundle
ENV PATH $GEM_HOME/bin:$PATH
RUN gem install bundler \
&& 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" ]
@pascalw
Copy link
Author

pascalw commented Dec 16, 2014

Based on upstream Docker Ruby image, but build on Debian Wheezy as opposed to Debian Jessie.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment