From ffc33cbb40a90c7cd62e1c67460dc8d74d6bcb7a Mon Sep 17 00:00:00 2001 From: Achmad Chun Chun <41361100+anonychun@users.noreply.github.com> Date: Sat, 17 Feb 2024 21:47:57 +0700 Subject: [PATCH] Speedup docker build time (#463) --- Dockerfile | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index fae4a4c74e2..a4818e549d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,6 +7,10 @@ FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim as base # Rails app lives here WORKDIR /rails +# Install base packages +RUN apt-get update -qq && \ + apt-get install --no-install-recommends -y curl libvips postgresql-client + # Set production environment ENV RAILS_ENV="production" \ BUNDLE_DEPLOYMENT="1" \ @@ -18,8 +22,7 @@ ENV RAILS_ENV="production" \ FROM base as build # Install packages needed to build gems -RUN apt-get update -qq && \ - apt-get install --no-install-recommends -y build-essential git libpq-dev libvips pkg-config +RUN apt-get install --no-install-recommends -y build-essential git libpq-dev pkg-config # Install application gems COPY Gemfile Gemfile.lock ./ @@ -40,10 +43,8 @@ RUN SECRET_KEY_BASE_DUMMY=1 ./bin/rails assets:precompile # Final stage for app image FROM base -# Install packages needed for deployment -RUN apt-get update -qq && \ - apt-get install --no-install-recommends -y curl libvips postgresql-client && \ - rm -rf /var/lib/apt/lists /var/cache/apt/archives +# Clean up installation packages to reduce image size +RUN rm -rf /var/lib/apt/lists /var/cache/apt/archives # Copy built artifacts: gems, application COPY --from=build "${BUNDLE_PATH}" "${BUNDLE_PATH}"