« Back to Index

Sinatra and Docker

View original Gist on GitHub

Dockerfile

FROM ruby
RUN mkdir -p /app
WORKDIR /app
COPY Gemfile /app/
RUN bundle install --quiet
COPY . /app
EXPOSE 5000
ENTRYPOINT ["rackup"]
CMD ["--host", "0.0.0.0", "-p", "5000"]

Gemfile.rb

source "https://rubygems.org/"

gem "puma"
gem "sinatra"

app.rb

require "sinatra/base"

class App < Sinatra::Base
  set :bind, "0.0.0.0"

  get "/" do
    "<p>This is <i>dynamic</i> content served via puma: #{rand(36**6).to_s(36)}"
  end
end

config.ru

require "sinatra"
require "./app.rb"

run App