FROM amazonlinux:2022 as builder-base RUN yum update -y -q \ && yum groupinstall -y "Development Tools" \ && yum install -y --allowerasing \ gcc gcc-c++ git make curl zlib-devel glibc-locale-source hostname \ && yum clean all ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 RUN localedef -c -f UTF-8 -i C C.UTF-8 FROM builder-base as builder-openssl RUN yum install -y perl-FindBin ENV OPENSSL_VERSION 1.1.1q RUN curl -fsSL "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" | tar -xzC /tmp WORKDIR /tmp/openssl-${OPENSSL_VERSION} RUN ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib RUN make ENV DESTDIR=/tmp/openssl-install RUN mkdir -p ${DESTDIR} RUN make DESTDIR=${DESTDIR} INSTALL_PREFIX=${DESTDIR} install WORKDIR / RUN rm -rf ${DESTDIR}/usr/local/openssl/certs \ && ln -s /etc/ssl/certs ${DESTDIR}/usr/local/openssl/ FROM builder-base as builder-ruby COPY --from=builder-openssl /tmp/openssl-install / RUN yum install -y gdbm-devel readline-devel ENV RUBY_VERSION 2.7.5 RUN curl -fsSL "https://cache.ruby-lang.org/pub/ruby/2.7/ruby-${RUBY_VERSION}.tar.gz" \ | tar -xzC /tmp WORKDIR /tmp/ruby-${RUBY_VERSION} RUN ./configure --disable-install-rdoc --disable-install-doc --disable-install-capi --with-openssl-dir=/usr/local/openssl RUN make RUN mkdir /tmp/ruby-install RUN make DESTDIR=/tmp/ruby-install install RUN mkdir -p /tmp/ruby-install/etc/ld.so.conf.d/ \ && echo "/usr/local/openssl/lib" > /tmp/ruby-install/etc/ld.so.conf.d/openssl-local.conf RUN mkdir -p /tmp/ruby-install/etc/profile.d \ && echo "PATH=\${PATH}:/usr/local/openssl/bin" > /tmp/ruby-install/etc/profile.d/openssl-local.sh WORKDIR / FROM builder-base as builder-assemble COPY --from=builder-openssl /tmp/openssl-install/ / RUN rm -rf /usr/local/openssl/certs \ && ln -sf /etc/ssl/certs /usr/local/openssl/certs \ && ln -sf /etc/ssl/cert.pem /usr/local/openssl/cert.pem COPY --from=builder-ruby /tmp/ruby-install/ / RUN ldconfig -f /etc/ld.so.conf ENV PATH=${PATH}:/usr/local/openssl/bin RUN gem install bundler --no-document --version 2.2.33 FROM builder-base ENV PATH=${PATH}:/usr/local/openssl/bin COPY --from=builder-assemble / /