-
Notifications
You must be signed in to change notification settings - Fork 21
/
Dockerfile
34 lines (26 loc) · 916 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# To build run: docker build -t avro-schema-registry .
FROM ruby:3.3.1
RUN mkdir /app
WORKDIR /app
# Copy the Gemfile as well as the Gemfile.lock and install
# the RubyGems. This is a separate step so the dependencies
# will be cached unless changes to one of those two files
# are made.
COPY Gemfile Gemfile.lock ./
RUN gem install bundler --no-document && bundle install --jobs 20 --retry 5
COPY . /app
# Run the app as a non-root user. The source code will be read-only,
# but the process will complain if it can't write to tmp or log (even
# though we're writing the logs to STDOUT).
RUN mkdir /app/tmp /app/log
RUN groupadd --system avro && \
useradd --no-log-init --system --create-home --gid avro avro && \
chown -R avro:avro /app/tmp /app/log
USER avro
ENV RACK_ENV=production
ENV RAILS_ENV=production
ENV RAILS_LOG_TO_STDOUT=true
ENV PORT=5000
EXPOSE $PORT
# Start puma
CMD bin/docker_start