mirror of https://github.com/codevalet/canary
Multi-stage builds, wheee
This commit is contained in:
parent
6c311bc93d
commit
99c0e7adf2
34
Dockerfile
34
Dockerfile
|
@ -1,26 +1,38 @@
|
||||||
FROM ruby:2.3-alpine
|
FROM ruby:2.3-alpine as builder
|
||||||
|
|
||||||
ARG BUILD_PKGS="ruby-dev openssl-dev gcc make libc-dev binutils"
|
|
||||||
ARG APP_DIR=/webapp
|
ARG APP_DIR=/webapp
|
||||||
|
ARG BUILD_PKGS="ruby-dev openssl-dev gcc make libc-dev binutils"
|
||||||
RUN mkdir -p ${APP_DIR}/vendor
|
|
||||||
|
|
||||||
WORKDIR ${APP_DIR}
|
|
||||||
|
|
||||||
ENV GEM_HOME=${APP_DIR}/vendor/gems
|
ENV GEM_HOME=${APP_DIR}/vendor/gems
|
||||||
ENV BUNDLE_PATH=${APP_DIR}/vendor/gems
|
ENV BUNDLE_PATH=${APP_DIR}/vendor/gems
|
||||||
ENV BUNDLE_APP_CONFIG=${APP_DIR}/vendor/gems/.bundle
|
ENV BUNDLE_APP_CONFIG=${APP_DIR}/vendor/gems/.bundle
|
||||||
ENV BUNDLE_DISABLE_SHARED_GEMS=true
|
ENV BUNDLE_DISABLE_SHARED_GEMS=true
|
||||||
|
|
||||||
|
RUN mkdir -p ${APP_DIR}/vendor
|
||||||
|
|
||||||
|
WORKDIR ${APP_DIR}
|
||||||
ADD Gemfile* ${APP_DIR}/
|
ADD Gemfile* ${APP_DIR}/
|
||||||
|
RUN apk add -U ${BUILD_PKGS} && \
|
||||||
|
bundle install && \
|
||||||
|
apk del ${BUILD_PKGS} && \
|
||||||
|
rm -rf /var/cache/apk/*
|
||||||
|
|
||||||
|
# Doing a multi-stage build to reset some stuff for a smaller image
|
||||||
|
FROM ruby:2.3-alpine
|
||||||
|
|
||||||
|
ARG APP_DIR=/webapp
|
||||||
|
WORKDIR ${APP_DIR}
|
||||||
|
|
||||||
|
COPY --from=builder ${APP_DIR} .
|
||||||
|
|
||||||
|
ENV GEM_HOME=${APP_DIR}/vendor/gems
|
||||||
|
ENV BUNDLE_PATH=${APP_DIR}/vendor/gems
|
||||||
|
ENV BUNDLE_APP_CONFIG=${APP_DIR}/vendor/gems/.bundle
|
||||||
|
ENV BUNDLE_DISABLE_SHARED_GEMS=true
|
||||||
|
|
||||||
ADD app/ ${APP_DIR}/app/
|
ADD app/ ${APP_DIR}/app/
|
||||||
ADD config.ru ${APP_DIR}/
|
ADD config.ru ${APP_DIR}/
|
||||||
ADD views ${APP_DIR}/views/
|
ADD views ${APP_DIR}/views/
|
||||||
ADD assets ${APP_DIR}/assets/
|
ADD assets ${APP_DIR}/assets/
|
||||||
|
|
||||||
RUN apk add -U ${BUILD_PKGS} && \
|
|
||||||
bundle install --without test && \
|
|
||||||
apk del ${BUILD_PKGS} && \
|
|
||||||
rm -rf /var/cache/apk/*
|
|
||||||
|
|
||||||
CMD bundle exec puma
|
CMD bundle exec puma
|
||||||
|
|
Loading…
Reference in New Issue