Create basic ruby-alpine image
AS a developer
I WANT TO have basic ruby-alpine imageA
SO THAT building is faster
Dockerfile should be like
FROM alpine:3.18.2
ENV RAILS_ENV=development
RUN apk --update --no-cache add gnupg curl bash \
gcc ruby procps musl-dev make linux-headers zlib zlib-dev openssl openssl-dev ruby-dev yaml-dev
RUN gem install rake -N
RUN gem install bundle
RUN apk --update --no-cache add npm nodejs g++ sqlite-dev
RUN apk --update --no-cache add gcompat
and the rest should be
FROM skocic/ruby-alpine
RUN addgroup $GROUP && \
adduser -h /home/$USER -g 'RVM User' -s /bin/bash -G $GROUP -D $USER
ENV USER rvm
ENV GROUP rvm
USER rvm
RUN gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
RUN curl -sSL https://get.rvm.io | bash -s stable
SHELL ["/bin/bash", "-cl"]
RUN echo "rvm_gems_path=~/.rvm" > ~/.rvmrc
COPY .ruby-version .
RUN gem install nokogiri sqlite3 sassc tzinfo-data
RUN source ~/.rvm/scripts/rvm \
&& rvm install ruby-$(cat .ruby-version) --autolibs=0 --movable --disable-binary \
&& rvm use ruby-$(cat .ruby-version) --default
#RUN /usr/local/rvm/bin/rvm alias create default ruby-$(cat .ruby-version)
WORKDIR /app
COPY --chown=$GROUP:$USER Gemfile Gemfile.lock ./
RUN bundle config set --local deployment true # Install dependencies into ./vendor/ruby
RUN bundle install -j $(nproc)
COPY --chown=$GROUP:$USER . .
ENTRYPOINT ["/bin/bash", "-cl", "$0 $@"]
EXPOSE 3000
Edited by skocic