Dockerfileでヒアドキュメントを使用する方法
Dockerfile
に以下のように記述することでヒアドキュメントを使用することができます。
ただし、Buildkitを使用している必要があります。
Dockerfile
# syntax=docker/dockerfile:1
ARG RUBY_IMAGE_TAG
FROM ruby:${RUBY_IMAGE_TAG}
ARG PROJECT_NAME
ARG RUBYGEMS_VERSION
ARG USER_NAME=ruby
ENV TZ=Asia/Tokyo
RUN adduser ${USER_NAME}
COPY --chown=${USER_NAME} Gemfile Gemfile.lock /${PROJECT_NAME}/
WORKDIR /${PROJECT_NAME}
RUN <<-EOF
gem update --system ${RUBYGEMS_VERSION}
bundle install
chown -R ${USER_NAME} ${GEM_HOME}
EOF
COPY --chmod=755 /.docker/api/entrypoint.sh /usr/bin/
ENTRYPOINT ["entrypoint.sh"]
USER ${USER_NAME}
RUN mkdir -p /${PROJECT_NAME}/tmp/sockets/
EXPOSE 3000
CMD ["bundle", "exec", "pumactl", "start"]
Dockerfile
に# syntax=docker/dockerfile:1
を記述するのを忘れないようご注意ください。
# syntax=docker/dockerfile:1
の1
はバージョンの指定です。
ヒアドキュメントの使用方法は以下をご参照ください。