Slide 15
Slide 15 text
Rails
のDocker
イメージ作成 4
WORKDIR /app
# Docker
のビルドステップキャッシュを利⽤するため
#
先にGemfile
を転送し、bundle install
する
COPY --chown=rails Gemfile Gemfile.lock package.json yarn.lock /app/
RUN bundle config set app_config .bundle
RUN bundle config set path .cache/bundle
# mount cache
を利⽤する
RUN --mount=type=cache,uid=1000,target=/app/.cache/bundle bundle install && \
mkdir -p vendor && \
cp -ar .cache/bundle vendor/bundle
RUN bundle config set path vendor/bundle
RUN --mount=type=cache,uid=1000,target=/app/.cache/node_modules bin/yarn install --modules-folder .cache/node_modules && \
cp -ar .cache/node_modules node_modules
COPY --chown=rails . /app
RUN --mount=type=cache,uid=1000,target=/app/tmp/cache bin/rails assets:precompile
#
実⾏時にコマンド指定が無い場合に実⾏されるコマンド
CMD ["bin/rails", "s", "-b", "0.0.0.0"]