testing
python latest + ruby 2.4.0
Licensed under MIT
FROM python:3.9.13 | |
#COPY --from=ruby:2.4.0 /usr/bin/ruby /usr/bin/ruby | |
ADD https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.zip /opt/ruby-2.4.0.zip | |
## use local zip for faster builds | |
#ADD ruby-2.4.0.zip /opt/ruby-2.4.0.zip | |
RUN unzip /opt/ruby-2.4.0.zip -d /opt/ && \ | |
rm /opt/ruby-2.4.0.zip | |
RUN cd /opt/ruby-2.4.0 && \ | |
./configure && \ | |
make && \ | |
make install | |
# get which ruby | |
RUN which ruby | |
RUN ruby --version | |
# get which gem | |
RUN which gem | |
RUN gem --version | |
# get which bundle | |
RUN which bundle | |
RUN bundle --version | |
## test install gem package | |
RUN gem install http_parser && which http_parser |
FROM ruby:2.4.0 as RUBY_IMG | |
# get which ruby | |
RUN which ruby | |
RUN ruby --version | |
# get which gem | |
RUN which gem | |
RUN gem --version | |
# get which bundle | |
RUN which bundle | |
RUN bundle --version | |
############################################################################### | |
### Works but has issues with openssl | |
# cannot open shared object file: No such file or directory - /usr/local/lib/ruby/2.4.0/x86_64-linux/openssl.so | |
FROM python:3.9.13 | |
## copy ruby binaries | |
COPY --from=RUBY_IMG /usr/local/bin/ruby /usr/local/bin/ruby | |
COPY --from=RUBY_IMG /usr/local/bin/update_rubygems /usr/local/bin/update_rubygems | |
## copy gem binaries | |
COPY --from=RUBY_IMG /usr/local/bin/gem /usr/local/bin/gem | |
COPY --from=RUBY_IMG /usr/local/etc/gemrc /usr/local/etc/gemrc | |
## copy bundle binaries | |
COPY --from=RUBY_IMG /usr/local/bin/bundle /usr/local/bin/bundle | |
COPY --from=RUBY_IMG /usr/local/bundle /usr/local/bundle | |
## copy ruby dirs | |
COPY --from=RUBY_IMG /root/.gem /root/.gem | |
COPY --from=RUBY_IMG /usr/local/lib/ruby /usr/local/lib/ruby | |
COPY --from=RUBY_IMG /usr/local/include/ruby-2.4.0 /usr/local/include/ruby-2.4.0 | |
COPY --from=RUBY_IMG /usr/local/lib/libruby.so /usr/local/lib/libruby.so | |
COPY --from=RUBY_IMG /usr/local/lib/libruby.so.2.4.0 /usr/local/lib/libruby.so.2.4.0 | |
COPY --from=RUBY_IMG /usr/local/lib/libruby.so.2.4 /usr/local/lib/libruby.so.2.4 | |
COPY --from=RUBY_IMG /usr/local/lib/pkgconfig/ruby-2.4.pc /usr/local/lib/pkgconfig/ruby-2.4.pc | |
COPY --from=RUBY_IMG /usr/share/mime/application/x-ruby.xml /usr/share/mime/application/x-ruby.xml | |
COPY --from=RUBY_IMG /usr/local/share/man/man1/ruby.1 /usr/local/share/man/man1/ruby.1 | |
## setup gem paths | |
ENV GEM_HOME /usr/local/bundle | |
ENV PATH $GEM_HOME/bin:$PATH | |
RUN mkdir -p "$GEM_HOME" &&\ | |
chmod 777 "$GEM_HOME" | |
RUN apt update && apt install -y --no-install-recommends \ | |
openssl | |
# CleanUp | |
RUN apt autoremove -y && \ | |
rm -rf /var/lib/apt/lists/* | |
# get which ruby | |
RUN which ruby | |
RUN ruby --version | |
# get which gem | |
RUN which gem | |
RUN gem --version | |
# get which bundle | |
RUN which bundle | |
RUN bundle --version | |
## test install gem package | |
RUN gem install http_parser && which http_parser |