This repository has been archived by the owner on Oct 1, 2024. It is now read-only.
forked from docker-library/ruby
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
224 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
FROM alpine:3.3 | ||
|
||
ENV RUBY_MAJOR %%VERSION%% | ||
ENV RUBY_VERSION %%FULL_VERSION%% | ||
ENV RUBY_DOWNLOAD_SHA256 %%SHA256%% | ||
ENV RUBYGEMS_VERSION %%RUBYGEMS%% | ||
|
||
# skip installing gem documentation | ||
RUN echo -e 'install: --no-document\nupdate: --no-document' >> "$HOME/.gemrc" | ||
|
||
RUN set -x \ | ||
&& apk add --no-cache --virtual .ruby-builddeps \ | ||
autoconf \ | ||
bison \ | ||
bzip2 \ | ||
bzip2-dev \ | ||
ca-certificates \ | ||
coreutils \ | ||
curl \ | ||
gcc \ | ||
gdbm-dev \ | ||
glib-dev \ | ||
libc-dev \ | ||
libedit-dev \ | ||
libffi-dev \ | ||
libxml2-dev \ | ||
libxslt-dev \ | ||
linux-headers \ | ||
make \ | ||
ncurses-dev \ | ||
openssl-dev \ | ||
procps \ | ||
ruby \ | ||
yaml-dev \ | ||
zlib-dev \ | ||
&& 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 \ | ||
&& tar -xzf ruby.tar.gz -C /usr/src \ | ||
&& mv "/usr/src/ruby-$RUBY_VERSION" /usr/src/ruby \ | ||
&& rm ruby.tar.gz \ | ||
&& cd /usr/src/ruby \ | ||
&& autoconf \ | ||
# the configure script does not detect isnan/isinf as macros | ||
&& ac_cv_func_isnan=yes ac_cv_func_isinf=yes ./configure --disable-install-doc \ | ||
&& make -j"$(nproc)" \ | ||
&& make install \ | ||
&& gem update --system $RUBYGEMS_VERSION \ | ||
&& runDeps="$( \ | ||
scanelf --needed --nobanner --recursive /usr/local \ | ||
| awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ | ||
| sort -u \ | ||
| xargs -r apk info --installed \ | ||
| sort -u \ | ||
)" \ | ||
&& apk add --virtual .ruby-rundeps $runDeps \ | ||
bzip2 \ | ||
ca-certificates \ | ||
curl \ | ||
libffi-dev \ | ||
openssl-dev \ | ||
yaml-dev \ | ||
procps \ | ||
zlib-dev \ | ||
&& apk del .ruby-builddeps \ | ||
&& 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 %%BUNDLER%% | ||
|
||
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" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
FROM ruby:%%VERSION%% | ||
|
||
# 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
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 %%VERSION%% | ||
ENV RUBY_VERSION %%FULL_VERSION%% | ||
ENV RUBY_DOWNLOAD_SHA256 %%SHA256%% | ||
ENV RUBYGEMS_VERSION %%RUBYGEMS%% | ||
|
||
# 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 %%BUNDLER%% | ||
|
||
RUN gem install bundler --version "$BUNDLER_VERSION" \ | ||
&& bundle config --global path "$GEM_HOME" \ | ||
&& bundle config --global bin "$GEM_HOME/bin" \ | ||
&& bundle config --global silence_root_warning true | ||
|
||
# don't create ".bundle" in all our apps | ||
ENV BUNDLE_APP_CONFIG $GEM_HOME | ||
|
||
CMD [ "irb" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
FROM buildpack-deps:jessie | ||
|
||
ENV RUBY_MAJOR %%VERSION%% | ||
ENV RUBY_VERSION %%FULL_VERSION%% | ||
ENV RUBY_DOWNLOAD_SHA256 %%SHA256%% | ||
ENV RUBYGEMS_VERSION %%RUBYGEMS%% | ||
|
||
# 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 %%BUNDLER%% | ||
|
||
RUN gem install bundler --version "$BUNDLER_VERSION" \ | ||
&& bundle config --global path "$GEM_HOME" \ | ||
&& bundle config --global bin "$GEM_HOME/bin" \ | ||
&& bundle config --global silence_root_warning true | ||
|
||
# don't create ".bundle" in all our apps | ||
ENV BUNDLE_APP_CONFIG $GEM_HOME | ||
|
||
CMD [ "irb" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters