All Projects → grosser → dockerb

grosser / dockerb

Licence: MIT license
Dockerfile.erb - use ruby in your dynamic Dockerfile

Programming Languages

ruby
36898 projects - #4 most used programming language

Dockerfile.erb - use ruby in your dynamic Dockerfile

Install

gem install dockerb

or standalone

curl https://rubinjam.herokuapp.com/pack/dockerb > dockerb && chmod +x dockerb

Usage

docker generates a Dockerfile from your Dockerfile.erb (delete it after building / do not commit it)

custom

RUN echo <%= "hello" + " " + "world" %>
---
RUN echo hello world

install_gem

Pre-install a slow gem so re-building the container is fast

  • picks the correct version from Gemfile.lock
  • use before Adding Gemfile.lock or bundling
<%= install_gem 'nokogiri' %>
---
RUN gem install -v 1.6.3 nokogiri

bundle

  • add as little as necessary to bundle
  • do not fail when re-locking fails due to git not being installed (|| bundle check)
<%= bundle %>
---
ADD Gemfile /app/
ADD Gemfile.lock /app/
ADD vendor/cache /app/vendor/cache
RUN bundle install --quiet --local --jobs 4 || bundle check

Inside of ruby:

Dockerb.compile do
  ... do other things ...
end
# Dockerfile is cleaned up

Author

Michael Grosser
[email protected]
License: MIT
Build Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].