diff --git a/2.3/jessie/Dockerfile b/2.3/jessie/Dockerfile index 9a659d2952..0043dc9ab6 100644 --- a/2.3/jessie/Dockerfile +++ b/2.3/jessie/Dockerfile @@ -23,8 +23,11 @@ RUN set -ex \ libgdbm-dev \ ruby \ ' \ + && runtimeDeps=' \ + libjemalloc-dev \ + ' \ && apt-get update \ - && apt-get install -y --no-install-recommends $buildDeps \ + && apt-get install -y --no-install-recommends $buildDeps $runtimeDeps \ && rm -rf /var/lib/apt/lists/* \ \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ @@ -51,6 +54,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -62,6 +66,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/2.3/jessie/slim/Dockerfile b/2.3/jessie/slim/Dockerfile index 4ddcc4fa3f..2c75f3cc83 100644 --- a/2.3/jessie/slim/Dockerfile +++ b/2.3/jessie/slim/Dockerfile @@ -6,6 +6,7 @@ RUN apt-get update \ ca-certificates \ libffi-dev \ libgdbm3 \ + libjemalloc-dev \ libssl-dev \ libyaml-dev \ procps \ @@ -74,6 +75,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -88,6 +90,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/2.3/stretch/Dockerfile b/2.3/stretch/Dockerfile index b16e8fa14c..558c55b9bd 100644 --- a/2.3/stretch/Dockerfile +++ b/2.3/stretch/Dockerfile @@ -25,8 +25,11 @@ RUN set -ex \ libssl1.0-dev \ ruby \ ' \ + && runtimeDeps=' \ + libjemalloc-dev \ + ' \ && apt-get update \ - && apt-get install -y --no-install-recommends $buildDeps \ + && apt-get install -y --no-install-recommends $buildDeps $runtimeDeps \ && rm -rf /var/lib/apt/lists/* \ \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ @@ -53,6 +56,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -64,6 +68,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/2.3/stretch/slim/Dockerfile b/2.3/stretch/slim/Dockerfile index 29ac2d83ae..2503e564a7 100644 --- a/2.3/stretch/slim/Dockerfile +++ b/2.3/stretch/slim/Dockerfile @@ -6,6 +6,7 @@ RUN apt-get update \ ca-certificates \ libffi-dev \ libgdbm3 \ + libjemalloc-dev \ libssl1.0-dev \ libyaml-dev \ procps \ @@ -74,6 +75,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -88,6 +90,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/2.4/jessie/Dockerfile b/2.4/jessie/Dockerfile index 346510bf97..06ea246455 100644 --- a/2.4/jessie/Dockerfile +++ b/2.4/jessie/Dockerfile @@ -23,8 +23,11 @@ RUN set -ex \ libgdbm-dev \ ruby \ ' \ + && runtimeDeps=' \ + libjemalloc-dev \ + ' \ && apt-get update \ - && apt-get install -y --no-install-recommends $buildDeps \ + && apt-get install -y --no-install-recommends $buildDeps $runtimeDeps \ && rm -rf /var/lib/apt/lists/* \ \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ @@ -51,6 +54,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -62,6 +66,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/2.4/jessie/slim/Dockerfile b/2.4/jessie/slim/Dockerfile index 5cdd55c097..a88c927224 100644 --- a/2.4/jessie/slim/Dockerfile +++ b/2.4/jessie/slim/Dockerfile @@ -6,6 +6,7 @@ RUN apt-get update \ ca-certificates \ libffi-dev \ libgdbm3 \ + libjemalloc-dev \ libssl-dev \ libyaml-dev \ procps \ @@ -74,6 +75,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -88,6 +90,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/2.4/stretch/Dockerfile b/2.4/stretch/Dockerfile index 06ad58d4f7..93ef957260 100644 --- a/2.4/stretch/Dockerfile +++ b/2.4/stretch/Dockerfile @@ -23,8 +23,11 @@ RUN set -ex \ libgdbm-dev \ ruby \ ' \ + && runtimeDeps=' \ + libjemalloc-dev \ + ' \ && apt-get update \ - && apt-get install -y --no-install-recommends $buildDeps \ + && apt-get install -y --no-install-recommends $buildDeps $runtimeDeps \ && rm -rf /var/lib/apt/lists/* \ \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ @@ -51,6 +54,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -62,6 +66,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/2.4/stretch/slim/Dockerfile b/2.4/stretch/slim/Dockerfile index 8719bebfa0..353945e7ce 100644 --- a/2.4/stretch/slim/Dockerfile +++ b/2.4/stretch/slim/Dockerfile @@ -6,6 +6,7 @@ RUN apt-get update \ ca-certificates \ libffi-dev \ libgdbm3 \ + libjemalloc-dev \ libssl-dev \ libyaml-dev \ procps \ @@ -74,6 +75,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -88,6 +90,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/2.5/stretch/Dockerfile b/2.5/stretch/Dockerfile index 9f30235262..a8c4fde64b 100644 --- a/2.5/stretch/Dockerfile +++ b/2.5/stretch/Dockerfile @@ -23,8 +23,11 @@ RUN set -ex \ libgdbm-dev \ ruby \ ' \ + && runtimeDeps=' \ + libjemalloc-dev \ + ' \ && apt-get update \ - && apt-get install -y --no-install-recommends $buildDeps \ + && apt-get install -y --no-install-recommends $buildDeps $runtimeDeps \ && rm -rf /var/lib/apt/lists/* \ \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ @@ -51,6 +54,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -62,6 +66,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/2.5/stretch/slim/Dockerfile b/2.5/stretch/slim/Dockerfile index c47bc418d5..aea71a7aad 100644 --- a/2.5/stretch/slim/Dockerfile +++ b/2.5/stretch/slim/Dockerfile @@ -6,6 +6,7 @@ RUN apt-get update \ ca-certificates \ libffi-dev \ libgdbm3 \ + libjemalloc-dev \ libssl-dev \ libyaml-dev \ procps \ @@ -74,6 +75,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -88,6 +90,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/2.6-rc/stretch/Dockerfile b/2.6-rc/stretch/Dockerfile index f4416cbd08..7cbb9dbb64 100644 --- a/2.6-rc/stretch/Dockerfile +++ b/2.6-rc/stretch/Dockerfile @@ -23,8 +23,11 @@ RUN set -ex \ libgdbm-dev \ ruby \ ' \ + && runtimeDeps=' \ + libjemalloc-dev \ + ' \ && apt-get update \ - && apt-get install -y --no-install-recommends $buildDeps \ + && apt-get install -y --no-install-recommends $buildDeps $runtimeDeps \ && rm -rf /var/lib/apt/lists/* \ \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ @@ -51,6 +54,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -62,6 +66,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/2.6-rc/stretch/slim/Dockerfile b/2.6-rc/stretch/slim/Dockerfile index f4ef43f9a2..15b0152ec1 100644 --- a/2.6-rc/stretch/slim/Dockerfile +++ b/2.6-rc/stretch/slim/Dockerfile @@ -6,6 +6,7 @@ RUN apt-get update \ ca-certificates \ libffi-dev \ libgdbm3 \ + libjemalloc-dev \ libssl-dev \ libyaml-dev \ procps \ @@ -74,6 +75,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -88,6 +90,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template index 3eb568b968..c4b5e3e12b 100644 --- a/Dockerfile-debian.template +++ b/Dockerfile-debian.template @@ -25,8 +25,11 @@ RUN set -ex \ libssl1.0-dev \ ruby \ ' \ + && runtimeDeps=' \ + libjemalloc-dev \ + ' \ && apt-get update \ - && apt-get install -y --no-install-recommends $buildDeps \ + && apt-get install -y --no-install-recommends $buildDeps $runtimeDeps \ && rm -rf /var/lib/apt/lists/* \ \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ @@ -53,6 +56,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -64,6 +68,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle diff --git a/Dockerfile-slim.template b/Dockerfile-slim.template index 3c2846a417..ed6e89e31c 100644 --- a/Dockerfile-slim.template +++ b/Dockerfile-slim.template @@ -6,6 +6,7 @@ RUN apt-get update \ ca-certificates \ libffi-dev \ libgdbm3 \ + libjemalloc-dev \ libssl-dev \ libyaml-dev \ procps \ @@ -74,6 +75,7 @@ RUN set -ex \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + --with-jemalloc \ && make -j "$(nproc)" \ && make install \ \ @@ -88,6 +90,9 @@ RUN set -ex \ && gem install bundler --version "$BUNDLER_VERSION" --force \ && rm -r /root/.gem/ +# Sanity check for jemalloc +RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')" + # install things globally, for great justice # and don't create ".bundle" in all our apps ENV GEM_HOME /usr/local/bundle