mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-14 11:11:38 -05:00
optimize order of the dockerfiles to leverage layer caching
This commit is contained in:
parent
6f658562f6
commit
9b3805fc80
2 changed files with 38 additions and 42 deletions
25
Dockerfile
25
Dockerfile
|
|
@ -1,18 +1,11 @@
|
||||||
FROM ruby:3.3.4-alpine
|
FROM ruby:3.3.4-alpine
|
||||||
|
|
||||||
ENV APP_PATH /var/app
|
ENV APP_PATH=/var/app
|
||||||
ENV BUNDLE_VERSION 2.5.9
|
ENV BUNDLE_VERSION=2.5.9
|
||||||
ENV BUNDLE_PATH /usr/local/bundle/gems
|
ENV BUNDLE_PATH=/usr/local/bundle/gems
|
||||||
ENV TMP_PATH /tmp/
|
ENV TMP_PATH=/tmp/
|
||||||
ENV RAILS_LOG_TO_STDOUT true
|
ENV RAILS_LOG_TO_STDOUT=true
|
||||||
ENV RAILS_PORT 3000
|
ENV RAILS_PORT=3000
|
||||||
|
|
||||||
# Copy entrypoint scripts and grant execution permissions
|
|
||||||
COPY ./dev-docker-entrypoint.sh /usr/local/bin/dev-entrypoint.sh
|
|
||||||
RUN chmod +x /usr/local/bin/dev-entrypoint.sh
|
|
||||||
|
|
||||||
# Copy application files to workdir
|
|
||||||
COPY . $APP_PATH
|
|
||||||
|
|
||||||
# Install dependencies for application
|
# Install dependencies for application
|
||||||
RUN apk -U add --no-cache \
|
RUN apk -U add --no-cache \
|
||||||
|
|
@ -39,7 +32,7 @@ RUN gem install bundler --version "$BUNDLE_VERSION" \
|
||||||
# Navigate to app directory
|
# Navigate to app directory
|
||||||
WORKDIR $APP_PATH
|
WORKDIR $APP_PATH
|
||||||
|
|
||||||
COPY Gemfile Gemfile.lock ./
|
COPY Gemfile Gemfile.lock vendor .ruby-version ./
|
||||||
|
|
||||||
# Install missing gems
|
# Install missing gems
|
||||||
RUN bundle config set --local path 'vendor/bundle' \
|
RUN bundle config set --local path 'vendor/bundle' \
|
||||||
|
|
@ -47,6 +40,10 @@ RUN bundle config set --local path 'vendor/bundle' \
|
||||||
|
|
||||||
COPY . ./
|
COPY . ./
|
||||||
|
|
||||||
|
# Copy entrypoint scripts and grant execution permissions
|
||||||
|
COPY ./dev-docker-entrypoint.sh /usr/local/bin/dev-entrypoint.sh
|
||||||
|
RUN chmod +x /usr/local/bin/dev-entrypoint.sh
|
||||||
|
|
||||||
EXPOSE $RAILS_PORT
|
EXPOSE $RAILS_PORT
|
||||||
|
|
||||||
ENTRYPOINT [ "bundle", "exec" ]
|
ENTRYPOINT [ "bundle", "exec" ]
|
||||||
|
|
|
||||||
|
|
@ -1,39 +1,38 @@
|
||||||
FROM ruby:3.3.4-alpine
|
FROM ruby:3.3.4-alpine
|
||||||
|
|
||||||
ENV APP_PATH /var/app
|
ENV APP_PATH=/var/app
|
||||||
ENV BUNDLE_VERSION 2.5.9
|
ENV BUNDLE_VERSION=2.5.9
|
||||||
ENV BUNDLE_PATH /usr/local/bundle/gems
|
ENV BUNDLE_PATH=/usr/local/bundle/gems
|
||||||
ENV TMP_PATH /tmp/
|
ENV TMP_PATH=/tmp/
|
||||||
ENV RAILS_LOG_TO_STDOUT true
|
ENV RAILS_LOG_TO_STDOUT=true
|
||||||
ENV RAILS_PORT 3000
|
ENV RAILS_PORT=3000
|
||||||
|
|
||||||
|
# install dependencies for application
|
||||||
|
RUN apk -U add --no-cache \
|
||||||
|
build-base \
|
||||||
|
git \
|
||||||
|
postgresql-dev \
|
||||||
|
postgresql-client \
|
||||||
|
libxml2-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
nodejs \
|
||||||
|
yarn \
|
||||||
|
imagemagick \
|
||||||
|
tzdata \
|
||||||
|
less \
|
||||||
|
# gcompat for nokogiri on mac m1
|
||||||
|
gcompat \
|
||||||
|
&& rm -rf /var/cache/apk/* \
|
||||||
|
&& mkdir -p $APP_PATH
|
||||||
|
|
||||||
|
RUN gem install bundler --version "$BUNDLE_VERSION" \
|
||||||
|
&& rm -rf $GEM_HOME/cache/*
|
||||||
|
|
||||||
# copy entrypoint scripts and grant execution permissions
|
# copy entrypoint scripts and grant execution permissions
|
||||||
COPY ./dev-docker-entrypoint.sh /usr/local/bin/dev-entrypoint.sh
|
COPY ./dev-docker-entrypoint.sh /usr/local/bin/dev-entrypoint.sh
|
||||||
COPY ./test-docker-entrypoint.sh /usr/local/bin/test-entrypoint.sh
|
COPY ./test-docker-entrypoint.sh /usr/local/bin/test-entrypoint.sh
|
||||||
RUN chmod +x /usr/local/bin/dev-entrypoint.sh && chmod +x /usr/local/bin/test-entrypoint.sh
|
RUN chmod +x /usr/local/bin/dev-entrypoint.sh && chmod +x /usr/local/bin/test-entrypoint.sh
|
||||||
|
|
||||||
# install dependencies for application
|
|
||||||
RUN apk -U add --no-cache \
|
|
||||||
build-base \
|
|
||||||
git \
|
|
||||||
postgresql-dev \
|
|
||||||
postgresql-client \
|
|
||||||
libxml2-dev \
|
|
||||||
libxslt-dev \
|
|
||||||
nodejs \
|
|
||||||
yarn \
|
|
||||||
imagemagick \
|
|
||||||
tzdata \
|
|
||||||
less \
|
|
||||||
# gcompat for nokogiri on mac m1
|
|
||||||
gcompat \
|
|
||||||
&& rm -rf /var/cache/apk/* \
|
|
||||||
&& mkdir -p $APP_PATH
|
|
||||||
|
|
||||||
|
|
||||||
RUN gem install bundler --version "$BUNDLE_VERSION" \
|
|
||||||
&& rm -rf $GEM_HOME/cache/*
|
|
||||||
|
|
||||||
# navigate to app directory
|
# navigate to app directory
|
||||||
WORKDIR $APP_PATH
|
WORKDIR $APP_PATH
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue