mirror of
https://github.com/docker-library/ruby.git
synced 2022-11-09 11:41:34 -05:00
commit
747fd18734
4 changed files with 129 additions and 0 deletions
|
@ -2,6 +2,8 @@ language: bash
|
|||
services: docker
|
||||
|
||||
env:
|
||||
- VERSION=2.3 VARIANT=
|
||||
- VERSION=2.3 VARIANT=slim
|
||||
- VERSION=2.2 VARIANT=
|
||||
- VERSION=2.2 VARIANT=slim
|
||||
- VERSION=2.1 VARIANT=
|
||||
|
|
43
2.3/Dockerfile
Normal file
43
2.3/Dockerfile
Normal file
|
@ -0,0 +1,43 @@
|
|||
FROM buildpack-deps:jessie
|
||||
|
||||
ENV RUBY_MAJOR 2.3
|
||||
ENV RUBY_VERSION 2.3.0
|
||||
ENV RUBY_DOWNLOAD_SHA256 ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507
|
||||
ENV RUBYGEMS_VERSION 2.5.1
|
||||
|
||||
# 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.11.2
|
||||
|
||||
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" ]
|
13
2.3/onbuild/Dockerfile
Normal file
13
2.3/onbuild/Dockerfile
Normal file
|
@ -0,0 +1,13 @@
|
|||
FROM ruby:2.3
|
||||
|
||||
# throw errors if Gemfile has been modified since Gemfile.lock
|
||||
RUN bundle config --global frozen 1
|
||||
|
||||
RUN mkdir -p /usr/src/app
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
ONBUILD COPY Gemfile /usr/src/app/
|
||||
ONBUILD COPY Gemfile.lock /usr/src/app/
|
||||
ONBUILD RUN bundle install
|
||||
|
||||
ONBUILD COPY . /usr/src/app
|
71
2.3/slim/Dockerfile
Normal file
71
2.3/slim/Dockerfile
Normal file
|
@ -0,0 +1,71 @@
|
|||
FROM debian:jessie
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
bzip2 \
|
||||
ca-certificates \
|
||||
curl \
|
||||
libffi-dev \
|
||||
libgdbm3 \
|
||||
libssl-dev \
|
||||
libyaml-dev \
|
||||
procps \
|
||||
zlib1g-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV RUBY_MAJOR 2.3
|
||||
ENV RUBY_VERSION 2.3.0
|
||||
ENV RUBY_DOWNLOAD_SHA256 ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507
|
||||
ENV RUBYGEMS_VERSION 2.5.1
|
||||
|
||||
# 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 buildDeps=' \
|
||||
autoconf \
|
||||
bison \
|
||||
gcc \
|
||||
libbz2-dev \
|
||||
libgdbm-dev \
|
||||
libglib2.0-dev \
|
||||
libncurses-dev \
|
||||
libreadline-dev \
|
||||
libxml2-dev \
|
||||
libxslt-dev \
|
||||
make \
|
||||
ruby \
|
||||
' \
|
||||
&& set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends $buildDeps \
|
||||
&& 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 \
|
||||
&& gem update --system $RUBYGEMS_VERSION \
|
||||
&& rm -r /usr/src/ruby \
|
||||
&& apt-get purge -y --auto-remove $buildDeps
|
||||
|
||||
# install things globally, for great justice
|
||||
ENV GEM_HOME /usr/local/bundle
|
||||
ENV PATH $GEM_HOME/bin:$PATH
|
||||
|
||||
ENV BUNDLER_VERSION 1.11.2
|
||||
|
||||
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" ]
|
Loading…
Reference in a new issue