Introduce separate Docker image for Ruby 2.3.6 runtime
This commit is contained in:
parent
b85afce06c
commit
86de624d8c
6
ruby.sh
Executable file
6
ruby.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
SOURCE_DIR=$(realpath $(dirname "${0}"))/ruby
|
||||||
|
|
||||||
|
# Build Docker container
|
||||||
|
docker build -t ruby ${SOURCE_DIR}
|
33
ruby/Dockerfile
Normal file
33
ruby/Dockerfile
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
FROM alpine:3.7
|
||||||
|
MAINTAINER Disassembler <disassembler@dasm.cz>
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
# Install Ruby runtime dependencies
|
||||||
|
apk --no-cache add gdbm libressl readline zlib
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
# Install Ruby build dependencies
|
||||||
|
apk --no-cache add --virtual .deps build-base autoconf gdbm-dev libressl-dev linux-headers readline-dev zlib-dev \
|
||||||
|
# Download and unpack Ruby
|
||||||
|
&& wget http://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.6.tar.xz -O ruby.tar.xz \
|
||||||
|
&& mkdir -p /usr/src/ruby \
|
||||||
|
&& tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1 \
|
||||||
|
&& rm ruby.tar.xz \
|
||||||
|
&& cd /usr/src/ruby \
|
||||||
|
# Hackfix to suppress "Insecure world writable dir" warning
|
||||||
|
&& sed -ni 'p;13a #define ENABLE_PATH_CHECK 0' file.c \
|
||||||
|
# Configure compilation + hackfix to detect isnan/isinf macros
|
||||||
|
&& autoconf \
|
||||||
|
&& ac_cv_func_isnan=yes ac_cv_func_isinf=yes ./configure --build=x86_64-linux-musl --disable-install-doc --enable-shared \
|
||||||
|
# Compile and install Ruby
|
||||||
|
&& make -j $(nproc) \
|
||||||
|
&& make install \
|
||||||
|
# Install RubyGems and Bundler
|
||||||
|
&& mkdir -p /usr/local/etc \
|
||||||
|
&& echo -e 'install: --no-document\nupdate: --no-document' >/usr/local/etc/gemrc \
|
||||||
|
&& gem update --system \
|
||||||
|
# Cleanup
|
||||||
|
&& cd /tmp \
|
||||||
|
&& rm -r /usr/src/ruby \
|
||||||
|
&& apk --no-cache del .deps \
|
||||||
|
&& rm -rf /root/.gem
|
Loading…
Reference in New Issue
Block a user