Skip to content

Latest commit

 

History

History
36 lines (24 loc) · 1.34 KB

README.md

File metadata and controls

36 lines (24 loc) · 1.34 KB

alpine-ruby: Minimal Ruby image

This is a VERY small mri ruby 2.2.3 image. It uses the Alpine Linux ruby packages, and has bundler and minimal ruby packages installed.

Using this package

FROM cybercode/alpine-ruby:2.3
CMD["/mycommand"]

Unlike the Official Ruby Image or tinycore-ruby, it does not create any users or do ONBUILD magic and the CMD defaults to irb.

Using C-based gems

This image does not contain a compiler, etc. The best way to install C-based gems is to install the compiler chain and any development libraries required, run bundle install and remove the libraries all in one RUN command. That way the the final image will stay small.

For example, if you are using the pg and nokogiri gems:

RUN apk --update add --virtual build_deps \
    build-base ruby-dev libc-dev linux-headers \
    openssl-dev postgresql-dev libxml2-dev libxslt-dev && \
    sudo -iu app bundle install --path vendor/bundle && \
    apk del  build_deps

Note: These instructions used to suggest

sudo -iu app bundle config build.nokogiri --use-system-libraries 

before the bundle install.

This fails w/ alpine 3.4 as there is a conflict with the system header files.