Last active
November 28, 2016 11:56
-
-
Save mash/ede41edd476e93b6ddb24638d66b91ee to your computer and use it in GitHub Desktop.
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
FROM golang:1.7 | |
# golang + ruby:2.3 | |
# from https://github.com/docker-library/buildpack-deps/blob/master/jessie/Dockerfile | |
RUN apt-get update && apt-get install -y --no-install-recommends \ | |
autoconf \ | |
automake \ | |
bzip2 \ | |
file \ | |
g++ \ | |
gcc \ | |
imagemagick \ | |
libbz2-dev \ | |
libc6-dev \ | |
libcurl4-openssl-dev \ | |
libevent-dev \ | |
libffi-dev \ | |
libgeoip-dev \ | |
libglib2.0-dev \ | |
libjpeg-dev \ | |
liblzma-dev \ | |
libmagickcore-dev \ | |
libmagickwand-dev \ | |
libmysqlclient-dev \ | |
libncurses-dev \ | |
libpng-dev \ | |
libpq-dev \ | |
libreadline-dev \ | |
libsqlite3-dev \ | |
libssl-dev \ | |
libtool \ | |
libwebp-dev \ | |
libxml2-dev \ | |
libxslt-dev \ | |
libyaml-dev \ | |
make \ | |
patch \ | |
xz-utils \ | |
zlib1g-dev \ | |
&& rm -rf /var/lib/apt/lists/* | |
# from https://github.com/docker-library/ruby/blob/1b08f346713a1293c2a9238e470e086126e2e28f/2.3/Dockerfile | |
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 autoconf 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment