first commit
This commit is contained in:
48
Dockerfile
Normal file
48
Dockerfile
Normal file
@ -0,0 +1,48 @@
|
||||
FROM ruby:alpine as base
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN <<EOT
|
||||
gem update --system --no-document
|
||||
gem install -N bundler
|
||||
apk update
|
||||
apk upgrade --no-cache
|
||||
EOT
|
||||
|
||||
|
||||
FROM base AS build
|
||||
|
||||
RUN <<EOT
|
||||
apk add gcc musl-dev ruby-dev make
|
||||
EOT
|
||||
|
||||
COPY Gemfile* .
|
||||
|
||||
RUN <<EOT
|
||||
bundle config set --local without development
|
||||
bundle install
|
||||
EOT
|
||||
|
||||
FROM build as dev
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN <<EOT
|
||||
bundle install
|
||||
EOT
|
||||
|
||||
CMD [ "sleep", "infinity" ]
|
||||
|
||||
FROM base
|
||||
|
||||
# RUN useradd ruby --home /app --shell /bin/sh
|
||||
RUN adduser ruby -h /app -D
|
||||
USER ruby:ruby
|
||||
|
||||
COPY --from=build /usr/local/bundle /usr/local/bundle
|
||||
COPY --from=build --chown=ruby:ruby /app /app
|
||||
|
||||
COPY --chown=ruby:ruby . .
|
||||
|
||||
EXPOSE 4567
|
||||
CMD [ "bundle", "exec", "rackup", "--host", "0.0.0.0", "--port", "4567" ]
|
Reference in New Issue
Block a user